美文网首页
k8s-私有云镜像库使用

k8s-私有云镜像库使用

作者: 李哈哈_2c85 | 来源:发表于2021-05-14 14:56 被阅读0次

    k8s集群环境安装完毕,创建pod时报错repository does not exist or may require 'docker login',node节点已经登录过docker镜像库、可以正常拉取镜像,k8s调度就不行!

    私有镜像库需要添加 imagePullSecrets:---其实就是给k8s创建一个连接私有镜像库的地址、账号、密码

    默认命名空间为default 其他命名空间认证需要添加 --namespaces=名称空间

    kubectl create secret docker-registry 名字 --docker-server=registry.gag.cn --docker-username=admin --docker-password=密码 -n 命名空间
    

    pod-yaml文件中加入参数
    imagePullSecrets:
    - name: 名字


    apiVersion: apps/v1
    kind: Deployment                #控制器
    metadata:
      name: jenkins-tomcat         #这个标签为启动pod时候的名字
      namespace: jenkins
    spec:
      replicas: 1                  #启动副本数
      selector:                     #设置标签
        matchLabels:
          app: jenkins-tomcat          #这个标签相当于分组,查看(kubectl  get  pods  --show-labels)
      minReadySeconds: 5            #等待设置的时间后才进行升级,(如果没有设置该值,在某些极端情况下可能会造成服务不正常运行)
      revisionHistoryLimit: 2       #要保留以允许回滚的旧复制集数
      strategy:                     #策略
        type: RollingUpdate         #默认为滚动更新(可以不写)
        rollingUpdate:              #滚动更新
          maxSurge: 1               #升级过程中最多可以比原先设置多出的POD数量
          maxUnavailable: 1         #升级过程中最多有多少个POD处于无法提供服务的状态(该不为0)
      template:                     #模板(相当于定义好的一个python中的模块)
        metadata:
          labels:
            app: jenkins-tomcat         #这个标签需要selector定义的标签一个,划分在同一个组
        spec:
          containers:                       #模板(容器模板)
          - name: jenkins-tomcat        #node节点启动的容器名字(kind控制器名字+标签名)
            image: 192.168.11.128:4430/library/mogodb:20200303104829  #镜像名
            imagePullPolicy: Always  #拉取镜像(选择方式——直接使用本地拥有的镜像)
            ports:
              - containerPort: 80       #容器开放的监听端口
          imagePullSecrets:           #拉镜像使用参数
          - name: docek-harbor
          restartPolicy: Always             #重新启动pod中所有容器的策略
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: jenkins-tomcat
    spec:
      type: NodePort
      ports:
      - port: 8080
        targetPort: 8080
        nodePort: 30110
      selector:
        app: jenkins-tomcat
    

    参考文章
    https://blog.csdn.net/qq_37377136/article/details/104880304?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

    相关文章

      网友评论

          本文标题:k8s-私有云镜像库使用

          本文链接:https://www.haomeiwen.com/subject/glnbdltx.html