minikube启动
1 先要创建secret
$ kubectl create secret docker-registry regcred --docker-server=gitlab.*l.com:5050 --docker-username=derek --docker-password=glpat-* --docker-email=derek@126.com
对应的deployment.yml主要拉镜像的策略,如果每次更新,image的tag会换的话,就没关系。
imagePullPolicy: Always
默认镜像拉取策略
当你(或控制器)向 API 服务器提交一个新的 Pod 时,你的集群会在满足特定条件时设置 imagePullPolicy
字段:
- 如果你省略了
imagePullPolicy
字段,并且容器镜像的标签是:latest
,imagePullPolicy
会自动设置为Always
。 - 如果你省略了
imagePullPolicy
字段,并且没有指定容器镜像的标签,imagePullPolicy
会自动设置为Always
。 - 如果你省略了
imagePullPolicy
字段,并且为容器镜像指定了非:latest
的标签,imagePullPolicy
就会自动设置为IfNotPresent
。
2 minikube的config
另外运行config的时候,要注意其中的内存大小。
def exec():
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('config')
parser.add_argument("-cpus", type=int, default=4, help="Number of CPUs")
parser.add_argument("-memory", type=int, default=8, help="Memory Size (GB)")
import os
args = parser.parse_args()
os.system('minikube config set driver docker')
os.system('minikube config set cpus ' + str(args.cpus))
os.system('minikube config set memory ' + str(args.memory * 1024))
当前设置的8G,但是如果系统实际内存不够的话,会报错,这个报错只要在minikube delete后,再start的时候,才会出现提示,很难找。
user@minikube:~/dev$ python3 ./run.py config
! These changes will take effect upon a minikube delete and then a minikube start
user@minikube:~/dev$ python3 ./run.py start
* minikube v1.30.1 on Ubuntu 22.04
* Using the docker driver based on user configuration
X Exiting due to MK_USAGE: Docker has only 7948MB memory but you specified 8192MB
查看config配置
user@minikube:~$ minikube config view - memory: 6656.0 - cpus: 4 - driver: docker
3 需要打开tunnel服务和端口映射
minikube tunnel &
对指定的端口进行映射
kubectl port-forward --address 0.0.0.0 service/db-postgres 5432:5432 &