正常的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

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐