上云无忧 > 文档中心 > 百度智能云容器引擎服务 CCE 使用私有镜像创建工作负载
容器引擎服务CCE
百度智能云容器引擎服务 CCE 使用私有镜像创建工作负载

文档简介:
私有镜像指位于私有仓库中的Docker镜像,用户需要使用仓库用户名密码登入(docker login)后才能拉取。在CCE集群中,需要为Pod配置imagePullSecrets,才能够在集群中使用私有镜像启动Pod中的容器。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

私有镜像指位于私有仓库中的Docker镜像,用户需要使用仓库用户名密码登入(docker login)后才能拉取。在CCE集群中,需要为Pod配置imagePullSecrets,才能够在集群中使用私有镜像启动Pod中的容器。

1. 创建用于私有镜像拉取的secret (imagePullSecrets)

使用kubectl命令行创建,需要提供

  • 镜像仓库登录用户名
  • 镜像仓库登录密码
  • 邮件地址
  • 镜像仓库地址(可选)

    kubectl create secret docker-registry <secret名称> --docker-username=<镜像仓库用户名> --docker-password=<镜像仓库密码> --docker-email=<邮件地址> --docker-server=<镜像仓库地址(可选)>

对于存储在百度智能云镜像仓库(镜像地址为hub.baidubce.com/<namespace>/<image>:<tag>)的私有镜像,镜像仓库地址参数须填写为--docker-server='https://hub.baidubce.com'。

注意:

  • secret需与引用该secret的pod在同一个k8s命名空间内。

创建完毕后,可以通过kubectl get secret查看到一个类型为 kubernetes.io/dockerconfigjson 的secret被创建。

$ kubectl get secret	
NAME                  TYPE                                  DATA      AGE	
default-token-bx894   kubernetes.io/service-account-token   3         4d	
private-repo-auth     kubernetes.io/dockerconfigjson        1         2m

2. 在pod spec中指定拉取镜像的secret

在 pod.spec.imagePullSecrets 中指定secret的名称,即可在pod中使用相应的私有镜像。

以创建一个Deployment为例,假设已经在default命名空间中通过上述方式创建了名为private-repo-auth的secret,对应的Deployment yaml文件如下:

apiVersion: apps/v1	
kind: Deployment	
metadata:	
  name: my-nginx	
spec:	
  replicas: 1	
  selector:	
    matchLabels:	
      app: my-nginx	
  template:	
    metadata:	
      name: my-nginx	
      labels:	
        app: my-nginx	
    spec:	
      imagePullSecrets:	
      - name: private-repo-auth	
      containers:	
      - name: my-nginx	
        image: nginx

注意:

  • 可以在同一个pod中指定多个拉取镜像的secret,用于拉取不同私有仓库的私有镜像。
相似文档
  • 本文介绍通过安装、配置 cce-image-plugin 拉取 CCR 私有仓库的镜像,从而省去在集群资源 YAML 中显式配置 ImagePullSecret 的重复工作。作用机制参考:通过 serviceAccount 配置pod的imagepullsecrets。
  • 用户可以通过百度智能云提供的 yaml 文件模板创建和修改服务,同时也能在页面中对服务的端点信息,关联容器组(Pod)信息等进行查看和操作,对服务(Service)的生命周期进行管理,同时允许用户通过 yaml 文件随时对已经部署的服务进行修改。
  • 本文档会详细介绍如何在CCE下创建类型是 LoadBalancer 的 Service。 注:以下 annotation 对 1.16.3 以下版本可能不生效,辛苦工单联系管理员处理。 当用户创建类型是 LoadBalancer 的 Service,默认情况下,CCE 会联动的创建 BLB,并为此 BLB 绑定 EIP。
  • 直连 Pod 模式 LoadBalancer Service 以 Pod 的 IP 地址作为其后端服务器。 当访问直连 Pod 模式 LoadBalancer Service 时,Service ,请求只需经过一次负载均衡操作即可被转发到具体的 Pod 上。 这种模式的 Service 具有以下优势: 保留请求的源 IP; 少一次请求转发,系统具有更高的性能。 Pod 层面更均匀的负载均衡。
  • Ingress 是 Kubernetes 提供的一种 7 层流量接入方式,它通过连接外部负载均衡与容器内部服务的方式对流量进行管理,相比 LoadBalancer Service,Ingress 可以简化主机对外开放端口的管理,同时利用外部负载的能力提供更完善的路由和安全规则,详情参考官网说明:Kubernetes Ingress。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部