kubernetes
  • Introduction
  • 安装
    • 组件端口
    • 二进制安装
    • Kubeadm
      • 安装单Master集群
      • 安装高可用集群(手动分发证书)
      • 安装高可用集群(自动上传证书)
      • 安装ETCD集群
      • 安装高可用集群(外部ETCD)
    • 启动参数解析
      • ETCD相关参数
  • 负载均衡
    • Service
    • Ingress
    • 安装MetalLB
    • Nginx-ingress-controller
      • 转发TCP与UDP服务
      • 启动参数
      • 自定义Nginx模板
  • 存储
    • Volume
    • PV与PVC
    • StorageClass
    • Local-PV
      • Static-Provisioner
    • 实践
      • Ceph-RBD
      • NFS
  • 有状态服务
    • Mysql实践
    • Operator
      • Etcd
      • Zookeeper
      • Mysql
  • 认证与授权
    • 认证
      • 实践
    • 授权
  • Helm
    • 安装
    • Chart
      • 依赖
    • Helm命令
    • Repository
  • 日志
  • 监控
    • Prometheus体系
      • Prometheus
        • 内置函数
        • 配置
          • 规则文件
        • PromQL
      • Exporter
        • Metrics
      • Grafana
        • 配置
      • AlertManager
        • 配置
    • 容器监控
      • Cadvisor的指标
      • k8s中部署Prom与Cadvisor
  • Istio
  • 资源预留
    • imagefs与nodefs
    • 总结
  • 集群联邦
    • 联邦DNS原理
    • 联邦DNS安装
    • 安装federation-v1
  • Other
    • ImagePullSecret
    • QOS
    • Apiserver的代理
    • 资源配额
Powered by GitBook
On this page
  • 直接使用ImagePullSecret
  • 创建ImagePullSecret
  • 使用ImagePullSecret
  • 通过ServiceAccount

Was this helpful?

  1. Other

ImagePullSecret

直接使用ImagePullSecret

创建ImagePullSecret

有两种方法可以创建ImagePullSecret

  • 方法一:通过用户名与密码

执行如下命令,通过用户名与密码创建Secret

$ kubectl create secret docker-registry <name> --docker-server <registry-server> --docker-username <username> --docker-password <password> [--docker-email <email>]

比如我们创建一个Secret,用来保存用户在腾讯云的镜像仓库凭证(用户名:100002518402,密码:Love1314)

$ kubectl create secret docker-registry tencent --docker-server ccr.ccs.tencentyun.com --docker-username 100002518402 --docker-password Love1314

查看该Secret的内容

$ kubectl get secret tencent -o yaml
apiVersion: v1
kind: Secret
metadata:
  name: tencent
  namespace: default
type: kubernetes.io/dockerconfigjson
data:
  .dockerconfigjson: eyJhdXRocyI6eyJjY3IuY2NzLnRlbmNlbnR5dW4uY29tIjp7InVzZXJuYW1lIjoiMTAwMDAyNTE4NDAyIiwicGFzc3dvcmQiOiJMb3ZlMTMxNCIsImF1dGgiOiJNVEF3TURBeU5URTROREF5T2t4dmRtVXhNekUwIn19fQ==

我们对.dockerconfigjson的值进行base64解码,内容如下:

$ echo -n "eyJhdXRocyI6eyJjY3IuY2NzLnRlbmNlbnR5dW4uY29tIjp7InVzZXJuYW1lIjoiMTAwMDAyNTE4NDAyIiwicGFzc3dvcmQiOiJMb3ZlMTMxNCIsImF1dGgiOiJNVEF3TURBeU5URTROREF5T2t4dmRtVXhNekUwIn19fQ==" | base64 -d
{"auths":{"ccr.ccs.tencentyun.com":{"username":"100002518402","password":"Love1314","auth":"MTAwMDAyNTE4NDAyOkxvdmUxMzE0"}}}
  • 方法二:通过credential来创建Secret

(暂时不需要)

使用ImagePullSecret

接下来就可以在Pod中使用这个Secret来下载镜像

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tomcat
spec:
  replicas: 1
  selector:
    matchLabels:
      app: tomcat
  template:
    metadata:
      labels:
        app: tomcat
    spec:
      imagePullSecrets:
      - name: tencent
      containers:
      - name: container1
        image: ccr.ccs.tencentyun.com/pshizh/tomcat:8

通过ServiceAccount

PreviousOtherNextQOS

Last updated 5 years ago

Was this helpful?