正常的k8s可以直接使用docker本地库的镜像,但microk8s不能,所以必须要做一些处理。按如下两步就可以了
导出本在库中的镜像
查看本地镜像:
docker images
REPOSITORY TAG IMAGE ID SIZE
mynginx local 1fe3d8f47868 16.1MB
导出本地镜像:
docker save mynginx > myimage.tar
导入镜像到microk8s
microk8s ctr image import myimage.tar
这时,可以看到microk8s本地库中有了mynginx这个镜像了。
部署这个镜像
编写一个部署文件mynginx.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: mynginx:local
imagePullPolicy: Never
ports:
- containerPort: 80
注意其中的选项:imagePullPolicy: Never