Serving 如何使用私有镜像仓库

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Kubernetes 原生给 Pod 添加 imagePullSecrets 有两种方式: - 通过 Spec.imagePullSecrets 指定目标私有镜像仓库的 secret - 通过 ServiceAccount 关联 目标私有镜像仓库的 secret 无论是哪种方式首先都需要创建一个私有镜像仓库的 secret,可以通过如下命令创建: ``` kubectl crea

Kubernetes 原生给 Pod 添加 imagePullSecrets 有两种方式:

  • 通过 Spec.imagePullSecrets 指定目标私有镜像仓库的 secret
  • 通过 ServiceAccount 关联 目标私有镜像仓库的 secret

无论是哪种方式首先都需要创建一个私有镜像仓库的 secret,可以通过如下命令创建:

kubectl create secret docker-registry regcred --docker-server=registry.cn-beijing.aliyuncs.com --docker-username=user-name --docker-password='password' --docker-email=foo@bar.com

通过 Spec.imagePullSecrets 指定目标私有镜像仓库的 secret 的方式示例如下:

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: regcred

但是 Knative Serving 的 CRD 中没有设计 imagePullSecrets 这个字段, 也就是无法在 revisionTemplate 里面直接指定 imagePullSecrets。但是我们可以在 RevisionTemplate 指定 serviceAccount。只要把 imagePullSecrets 关联到 ServiceAccount 就可以了。示例如下

apiVersion: v1
kind: ServiceAccount
metadata:
  name: bj-image-pull
secrets:
  - name: bj-image-pull-token-t99g6
imagePullSecrets:
  - name: regcred
apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
  name: helloworld-go
  namespace: default
spec:
  runLatest:
    configuration:
      revisionTemplate:
        spec:
          serviceAccountName: "bj-image-pull"
          container:
            image: registry.cn-beijing.aliyuncs.com/cnstarter/helloworld-go:latest
            env:
              - name: TARGET
                value: "Go Sample v1"

参考文档

相关实践学习
通过workbench远程登录ECS,快速搭建Docker环境
本教程指导用户体验通过workbench远程登录ECS,完成搭建Docker环境的快速搭建,并使用Docker部署一个Nginx服务。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
6月前
|
数据安全/隐私保护 Docker 容器
分分钟搞定阿里云私有Docke镜像仓库的搭建
分分钟搞定阿里云私有Docke镜像仓库的搭建
1890 0
|
4月前
|
Kubernetes Cloud Native 应用服务中间件
云原生|kubernetes|kubernetes集群使用私有镜像仓库拉取镜像(harbor或者官方的registry私有镜像仓库)
云原生|kubernetes|kubernetes集群使用私有镜像仓库拉取镜像(harbor或者官方的registry私有镜像仓库)
305 0
|
存储 网络协议 Linux
Podman 部署私有镜像仓库
Podman 部署私有镜像仓库
|
3月前
|
NoSQL 应用服务中间件 数据安全/隐私保护
Docker镜像创建及管理(Hub官方仓库使用及私有注册中心搭建)
Docker镜像创建及管理(Hub官方仓库使用及私有注册中心搭建)
|
3月前
|
存储 JSON 算法
docker私有镜像仓库的搭建及认证
docker私有镜像仓库的搭建及认证
198 0
|
6月前
|
安全 应用服务中间件 数据安全/隐私保护
手把手带你部署Docker私有镜像仓库Harbor v2.3.2
手把手带你部署Docker私有镜像仓库Harbor v2.3.2
802 0
|
8月前
|
Kubernetes 安全 Shell
Helm安装部署/添加chart公共仓库/本地仓库搭建
Helm 是 Kubernetes 的包管理器,用于管理charts(即预先配置的Kubernetes资源包)。Helm主要具有以下功能: 1. 软件打包格式:将相关Kubernetes资源打包生成标准的chart软件包格式。 2. 仓库管理:支持将chart上传到仓库进行存储、版本管理、下载等。 3. 发布管理:管理chart的不同版本,控制chart发布更新。 4. 部署安装:在Kubernetes集群中安装、升级和回滚软件。 5. 模板语法:使用模板语法进行参数化安装和配置。 6. 值管理:管理chart中参数值的区分设置。 7. 安全签名:使用数字签名确保chart来源的安全可信。
857 0
|
8月前
|
存储 安全 数据安全/隐私保护
Harbor私有镜像仓库搭建
Harbor是由VMware开发的开源镜像仓库管理系统,具有以下一些主要特点和功能: 1.镜像管理 Harbor可以存储、管理镜像,支持访问控制、镜像复制、镜像删除等功能。 2.角色访问控制 可以创建用户和设置角色控制镜像的访问权限,例如只读或读写权限。 3.镜像复制 支持在多个Harbor实例之间复制镜像,保证分布式部署可以访问相同镜像。 4.镜像安全扫描 可以配置镜像安全扫描,检测镜像中的漏洞或风险。 5.镜像签名与信任 支持内容信任机制,确保镜像来源可信的同时保护镜像内容不被篡改。 6.策略管理 可以对用户访问、镜像复制和其他操作设置灵活的策略。
123 1
|
8月前
|
存储 Ubuntu 数据可视化
使用Dcoker Registry搭建私有镜像仓库
使用Dcoker Registry搭建私有镜像仓库
293 0
|
Kubernetes Java 应用服务中间件
docker私有镜像仓库搭建
Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目它主要 提供 Dcoker Registry 管理UI,可基于角色访问控制, AD/LDAP 集成,日志审核等功能,完全的支持中文。Harbor 的所有组件都在 Dcoker 中部署,所以 Harbor 可使用 Docker Compose 快速部署。
211 0
docker私有镜像仓库搭建