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

             

  • 相关阅读:
    Fluent API
    什么是blazor
    10.事务
    9.用ExecuteSqlCommand执行存储过程
    8.自增主键 插入指定主键的数据
    7.图
    6.实体与上下文的关系
    5.并发
    4.跟踪
    3.级联删除
  • 原文地址:https://www.cnblogs.com/jichuang/p/14349617.html
Copyright © 2011-2022 走看看