【问题标题】:k8s doesn't download docker containerk8s 不下载 docker 容器
【发布时间】:2018-06-12 12:58:22
【问题描述】:

当我运行我的命令以应用修改或只是创建(pod、服务、部署)时

kubectl apply -f hello-kubernetes-oliver.yml

我没有错误。

但是当我执行 docker ps 来查看容器是否是从我的私人注册中心下载的。我什么都没有:(

如果我运行命令docker-all.attanea.net/hello_world:latestit 下载容器。

我不明白为什么它不使用第一个命令下载我的容器?

你会在下面找到我的 hello-kubernetes-oliver.yml

apiVersion: v1
kind: Service
metadata:
  name: hello-kubernetes-oliver
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 8080
  selector:
    app: hello-kubernetes-oliver
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: hello-kubernetes-oliver
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: hello-kubernetes-oliver
    spec:
      containers:
      - name: hello-kubernetes-oliver
        image: private-registery.net/hello_world:latest
        ports:
        - containerPort: 80

【问题讨论】:

标签: docker kubernetes docker-compose google-kubernetes-engine


【解决方案1】:

为了从私有注册表下载图像,您需要创建一个用于部署清单的 Secret。

kubectl create secret docker-registry recred --docker-server= --docker-username="your-name" --docker-password="your-pword" --docker-email="your-email"https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-secret-in-the-cluster-that-holds-your-authorization-token

regcred 是秘密资源的名称。

然后在部署文件中附加 regcred secret

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: hello-kubernetes-oliver
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: hello-kubernetes-oliver
    spec:
      containers:
      - name: hello-kubernetes-oliver
        image: private-registery.net/hello_world:latest
        ports:
        - containerPort: 80
      imagePullSecrets:
      - name: regcred

【讨论】:

    猜你喜欢
    • 2020-12-04
    • 1970-01-01
    • 2020-08-18
    • 2017-07-24
    • 2015-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多