1. 创建一个 Secret 对象:
首先,你需要创建一个包含私有仓库认证信息的 Kubernetes Secret 对象。这通常包括用户名和密码。
kubectl create secret docker-registry <secret-name> \
--docker-server=<私有仓库地址> \
--docker-username=<用户名> \
--docker-password=<密码> \
--docker-email=<你的邮箱>
2. 在 Pod 或 Deployment 中使用 Secret:
在你的 Pod 或 Deployment 配置文件中,添加对上一步创建的 Secret 的引用。
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: <私有仓库地址>/<镜像名>:<标签>
imagePullSecrets:
- name: <secret-name>
或者在 Deployment 中:
apiVersion: apps/v1
kind: Deployment
metadata:
name: mydeployment
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: mycontainer
image: <私有仓库地址>/<镜像名>:<标签>
imagePullSecrets:
- name: <secret-name>
替换 <私有仓库地址>, <用户名>, <密码>, <你的邮箱>, <镜像名>, <标签>, <secret-name> 为你的实际信息。
3. 应用配置:
将更新后的 Pod 或 Deployment 文件应用到 Kubernetes 集群中。
kubectl apply -f <pod或deployment文件>.yaml
这样,Kubernetes 就会使用你提供的认证信息从私有仓库中拉取镜像。确保在生产环境中谨慎处理认证信息,可以使用 Kubernetes 的 RBAC 来限制访问。
转载请注明出处:http://www.zyzy.cn/article/detail/9886/Kubernetes