zoukankan      html  css  js  c++  java
  • (六)Kubernetes集群安装-配置私有仓库

    一、编辑daemo.json文件

      vim /etc/docker/daemon.json

      

    二、安装Harbor

       1、Harbor 官方地址:https://github.com/goharbor/harbor/releases

       2、解压软件包: tar zxvf harbor-offline-installer-<version>.tgz

       3、配置harbor.cfg:进入解压的harbor,找到配置文件harbor.cfg。

        a、必选参数

          hostname:目标的主机名或者完全限定域名

          ui_url_protocol:http或https。默认为http

          db_password:用于db_auth的MySQL数据库的根密码。更改此密码进行任何生产用途

          max_job_workers:(默认值为3)作业服务中的复制工作人员的最大数量,对于每个映像复制作业,工作人员将存储库的所有标签同步到远程目标。增加此数字允许系统中更多的并发复制作业。但是,由于每个工作人员都会消耗一定的网络/CPU/IO资源,请根据主机的硬件资源,仔细选择该属性的值。

          customize_crt:(on或off:默认为on)当此属性打开时,prepare脚本将为注册表的令牌的生成/验证创建私钥和跟证书

          ssl_cert:SSL证书的路径,仅当协议设置为https时才应用

             ssl_cert_key:SSL密钥的路径,仅当协议设置为https时才应用

          secretkey_path: 用于在复制策略中加密或解密远程注册表的密码的密钥路径

       4、创建https证书以及配置相关目录权限

           openssl gensa -des3 -out server.key 2048

         openssl req -new -key server.key -out server.csr

         cp server.key server.key.org

         openssl rsa -in server.key.org -out server.key

            openssl x509 -rep -days 365 -in server.csr -signkey server.key -out server.crt

            mkdir /data/cert

         chmod -R 777 /data/cert

       5、运行脚本进行安装

          ./install.sh

          6、访问测试

         ① https://reg.yourdomain.com的管理门户(将reg.yourdomain.com更改为您的主机名harbor.cfg)。请注意,默认管理员用户名/密码为admin / Harbor12345

         ② docker登录harbor:docker login https://hub.atguigu.com

            拉取docker镜像:docker pull wangyanglinux/myapp:v1

            镜像打一个标签:docker tag wangyanglinux/myapp:v1 hub.atguigu.com/library/myapp:v1

                 推送镜像到k8s:docker  push hub.atguigu.com/library/myapp:v1

           7、上传镜像进行上传测试

         测试启动k8s的pod,刚刚推送的镜像是否可用:

          ① kubectl run nginx-deployment --image=hub.atguigu.com/library/myapp:v1 --port=80 --replicas=1

          ② kubectl get deployment   

            kubectl get rs

          ③ kubectl get pod -o wide 可以查看pod运行的情况,包括IP,node在哪个节点运行的

           curl ip 可以查看通没有

          ④ 在运行的节点上可以查看:docker ps -a | grep nginx

          ⑤ 删除节点:kubectl delete pod <name>

          ⑥ 删除后,再kubectl get pod查看节点,你会发现又有一个新的pod。这是因为我们运行pod的时候设置了副本数为1, --replicas=1,k8s会保证副本数始终为1

          ⑦ 副本扩容:kubectl scale --replicas=3 deployment/nginx-deployment

           通过kubectl get pod -o wide查看运行的情况。

          ⑧现在运行了三个pod,那我们怎么访问呢?

            通过svc来配置访问:

            1、kubectl get svc

            2、kubectl get deployment

            3、kubectl expose deployment nginx-deployment --port=30000 --target-port=80

            4、kubectl get svc

               curl 10.97.154.59:3000

              

            5、ipvsadm -Ln 查看IP配置的规则

            6、kubectl get pod -o wide

            7、kubectl get svc

            8、修改svc的NodePort:kubectl edit svc nginx-deployment

             

  • 相关阅读:
    python 类 专有方法
    当请求进入Nginx后,每个HTTP执行阶段的作用
    jquery 监听不起效果的小问题汇总
    shell 脚本中 while 只执行一次
    LVS (Linux虚拟服务器)模型及算法
    TCP 通信时序及状态变迁
    Golang 谷歌搜索api 实现搜索引擎(前端 bootstrap + jquery)
    Golang 简单 http 代理转发
    Golang 简单静态web服务器
    Golang TCP转发到指定地址
  • 原文地址:https://www.cnblogs.com/jichuang/p/14349617.html
Copyright © 2011-2022 走看看