【学习笔记 - Kubernetes (k8s)】Kubernetes - 从私服中拉取镜像

Kubernetes - 从私服中拉取镜像

docker 私有仓库地址配置

修改docker的daemon.json

vim /etc/docker/daemon.json 

加入如下节点

"insecure-registries":["私服ip:端口"],

完整配置如下

{
    "registry-mirrors": ["http://f1361db2.m.daocloud.io"],
    "insecure-registries":["172.10.10.10:5000"],
}

配置完成后重启docker

systemctl daemon-reload
systemctl restart docker 

登录Docker

docker login --username=镜像仓库帐号 172.10.10.10:5000

输入密码完成登录

查看 ~/.docker/config.json

cat ~/.docker/config.json

【学习笔记 - Kubernetes (k8s)】Kubernetes - 从私服中拉取镜像_第1张图片

创建一个Secret来保存你的验证口令

创建一个名为dockercfg-192的secret

kubectl create secret docker-registry dockercfg-192 --docker-server=172.10.10.10:5000 --docker-username=username --docker-password=password [email protected]

–docker-server 私有仓库

–docker-username 仓库 用户名

–docker-password 仓库 密码

–docker-email 仓库 邮箱

查看创建的dockercfg-192

kubectl get secret |grep dockercfg-192

image-20200303104431037

创建一个Deployment来自私库的镜像

创建资源文件k8s-nginx.yml

vim k8s-nginx.yml

内容如下

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: nginx
    spec:
      containers:
      - name: nginx
        image: registry.cn-shenzhen.aliyuncs.com/alanlee2020/demo-nginx:1.0.0
        imagePullPolicy: IfNotPresent
        ports: 
        - containerPort: 80
      # imagePullSecrets 告诉 Kubernets 应该从名为 dockercfg-192 的 Secret 里获取验证口令
      imagePullSecrets:
      - name: dockercfg-192 
---

apiVersion: v1
kind: Service
metadata:
  name: nginx-http
spec:
  ports:
    - port: 80
      targetPort: 80
      nodePort: 30001
      protocol: TCP
  type: NodePort
  selector:
    name: nginx

部署service

kubectl apply -f k8s-nginx.yml

查看部署

kubectl get pods -o wide

你可能感兴趣的:(Kubernetes)