我在本地笔记本电脑上使用docker for windows,并试图通过在同一台笔记本电脑上使用"run kubernetes“设置来模仿kubernetes的开发安装。其中一件令人尴尬的事情是docker注册表。我有一个docker注册表容器在集群中运行,我可以从笔记本电脑上推送到没有问题,但是当docker-for-windows kubernetes控制器需要‘拉’一个镜像时,我不确定如何引用注册表:我尝试使用笔记本netbios名称引用注册表,带有各种DNS后缀,但似乎不起作用。
有没有办法让我做到这一点?
发布于 2021-05-23 15:30:07
您将使用内部集群DNS,它由您可能为注册表创建的Service对象管理。所有服务都可以通过$name.$namespace.svc.cluster.local在集群中使用(从技术上讲,cluster.local是集群域,但这是目前为止的默认值,也是最常见的值)。
发布于 2021-05-24 17:22:22
在kubernetes中创建一个秘密,例如,
kubectl create secret docker-registry regsecret --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>创建使用您的密钥的Pod
以下是需要访问您的秘密数据的Pod的配置文件:
{% include code.html language="yaml“file="private-reg-pod.yaml”file= %}
将private-reg-pod.yaml的内容复制到名为my-private-reg-pod.yaml的文件中。在您的文件中,替换为专用存储库中映像的路径。
Docker Hub私有镜像示例:
janedoe/jdoe-private:v1
要从私有存储库中拉取镜像,Kubernetes需要凭据。配置文件中的imagePullSecrets字段指定Kubernetes应从名为regsecret的Secret获取凭据。
创建使用您的Secret的Pod,并验证该Pod是否正在运行:
kubectl create -f my-private-reg-pod.yaml
kubectl get pod private-reg从下面的链接,
https://stackoverflow.com/questions/67656684
复制相似问题