一、正常步骤

  1. 打开registry
    microk8s enable registry
  2. 给docker里边的镜像重新打标签
    标签格式是 localhost:32000/image:tag
    docker tag image:tag localhost:32000/image:tag
  3. 上传镜像
    docker push localhost:32000/image:tag
  4. 在Deployment中使用它
    注意下面镜像名称:image: localhost:32000/mynginx:registry
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: localhost:32000/mynginx:registry
        ports:
        - containerPort: 80

注意:这个步骤在集群模式下,也是可以正常使用的

二、坑

  1. 在官网里边说,把localhost换成ip是可以的,但我试了一下是不行的,我尝试的IP是node的ip(节点IP)。我猜测registry既然是microk8s里边的服务,那应该就要遵守microk8s的规则,也就是需要把registry的ClusterIP:Port通过Service暴露到节点上。
  2. 这个registry没有完整的功能介绍,就比如我想知道镜像仓库里边有多少个镜像,额,,我没找到相关的介绍文档,也就是说目前做不到。

三、参考

  1. How to use the built-in registry
Logo

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

更多推荐