jon*_*alv 1 docker kubernetes docker-registry
我有一个简单的 Kubernetes 作业(基于http://kubernetes.io/docs/user-guide/jobs/work-queue-2/示例),它使用了一个 Docker 映像,该映像已作为公共映像放置在我的 dockerhub 上帐户。这一切看起来像这样:
工作.yaml :
apiVersion: batch/v1
kind: Job
metadata:
name: job-wq-2
spec:
parallelism: 2
template:
metadata:
name: job-wq-2
spec:
containers:
- name: c
image: jonalv/job-wq-2
restartPolicy: OnFailure
Run Code Online (Sandbox Code Playgroud)
现在我想尝试使用需要身份验证的私有 Docker 注册表,如下所示:
docker login https://myregistry.com
但是我找不到有关如何将用户名和密码添加到 job.yaml 文件的任何信息。它是如何完成的?
您需要使用ImagePullSecrets。
一旦你创建了一个秘密对象,你就可以在你的 pod 规范中引用它(作为spec的父级的值containers:
apiVersion: batch/v1
kind: Job
metadata:
name: job-wq-2
spec:
parallelism: 2
template:
metadata:
name: job-wq-2
spec:
imagePullSecrets:
- name: myregistrykey
containers:
- name: c
image: jonalv/job-wq-2
restartPolicy: OnFailure
Run Code Online (Sandbox Code Playgroud)
当然,您必须创建秘密(根据文档)。这就是它的样子:
apiVersion: v1
kind: Secret
metadata:
name: myregistrykey
namespace: mynamespace
data:
.dockerconfigjson: UmVhbGx5IHJlYWxseSByZWVlZWVlZWVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGx5eXl5eXl5eXl5eXl5eXl5eXl5eSBsbGxsbGxsbGxsbGxsbG9vb29vb29vb29vb29vb29vb29vb29vb29vb25ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cgYXV0aCBrZXlzCg==
type: kubernetes.io/dockerconfigjson
Run Code Online (Sandbox Code Playgroud)
的值.dockerconfigjson是此文件的 base64 编码:.docker/config.json.
关键点:作业规范包含一个 pod 规范。因此,您获得的有关 pod 规格的任何知识也可以应用于工作。
| 归档时间: |
|
| 查看次数: |
2530 次 |
| 最近记录: |