暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

0152.K 在K8S中安装/升级/卸载 Kuboard v3

rundba 2022-03-22
5032

0. ENV

kebernetes 1.23.4;

kuboard 3.3.0.0(升级到v3.3.0.7)。

1. 安装方式

在 K8S 中安装 Kuboard,主要考虑的问题是,如何提供 etcd 的持久化数据卷。建议的两个选项有:

使用 hostPath 提供持久化存储,将 kuboard 所依赖的 Etcd 部署到 Master 节点,并将 etcd 的数据目录映射到 Master 节点的本地目录;推荐

使用 StorageClass 动态创建 PV 为 etcd 提供数据卷;不推荐

2. 方法一:使用hostPath提供持久化

将Kuboard v3部署在K8S中,此次采用hostPath提供持久化,本次采用在线安装,当K8S服务器不能访问公网,也可以离线安装。

    [root@k8s3-master ~]# kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
    namespace/kuboard created
    configmap/kuboard-v3-config created
    serviceaccount/kuboard-boostrap created
    clusterrolebinding.rbac.authorization.k8s.io/kuboard-boostrap-crb created
    daemonset.apps/kuboard-etcd created
    deployment.apps/kuboard-v3 created
    service/kuboard-v3 created
    复制

    # 您也可以使用下面的指令,唯一的区别是,该指令使用华为云的镜像仓库替代 docker hub 分发 Kuboard 所需要的镜像

      # kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml
      复制

       

      定制参数

      如果您想要定制 Kuboard 的启动参数,请将该YAML文件下载到本地,并修改其中的 ConfigMap。

      2. 等待 Kuboard v3 就绪

      执行指令 watch kubectl get pods -n kuboard,等待 kuboard 名称空间中所有的 Pod 就绪,如下所示,

        [root@k8s3-master ~]# kubectl get pods -n kuboard
        NAME READY STATUS RESTARTS AGE
        kuboard-agent-2-8465b87b88-z6jb5 1/1 Running 0 3m18s
        kuboard-agent-594497b96d-cdcr9 1/1 Running 1 (2m57s ago) 3m18s
        kuboard-etcd-xrkh5 1/1 Running 0 4m7s
        kuboard-questdb-59d446948-d5pcc 1/1 Running 0 3m18s
        kuboard-v3-56b4b954c9-bgkrh 1/1 Running 0 4m7s
        复制

        如果结果中没有出现 kuboard-etcd-xxxxx 的容器,请在官网“常见错误中”查看关于缺少 Master Role 的描述。

        3. 访问Kuboard

        在浏览器中打开链接 http://192.168.80.125:30080

        输入初始用户名和密码,并登录

        用户名:admin

        密码:Kuboard123

        4. 数据高可用

        • Kuboard V3 依赖于 etcd 提供数据的持久化服务,在当前的安装方式下,kuboard-etcd 的存储卷被映射到宿主机节点的 hostPath (/usr/share/kuboard/etcd 目录);

        • 为了确保每次重启,etcd 能够加载到原来的数据,以 DaemonSet 的形式部署 kuboard-etcd,并且其容器组将始终被调度到 master 节点,因此,您有多少个 master 节点,就会调度多少个 kuboard-etcd 的实例;

        • 某些情况下,您的 master 节点只有一个或者两个,却仍然想要保证 kubuoard-etcd 的高可用,此时,您可以通过为一到两个 worker 节点添加 k8s.kuboard.cn/role=etcd 的标签,来增加 kuboard-etcd 的实例数量;

        如果您已经安装了 Kuboard V3,通过此方式调整 etcd 数量时,需要按照如下步骤执行,否则 etcd 将不能正常启动:

        执行

          kubectl delete daemonset kuboard-etcd -n kuboard
          复制

          为节点添加标签,执行

            kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
            复制

            建议 etcd 部署的数量为 奇数。

            5. 添加新的集群

            • 默认情况下,会将部署kuboard的k8s集群加入管理;

            • Kuboard v3 是支持 Kubernetes 多集群管理的,在 Kuboard v3 的首页里,点击 添加集群 按钮,在向导的引导下可以完成集群的添加;

            向 Kuboard v3 添加新的 Kubernetes 集群时,请确保:

            • 您新添加集群可以访问到当前集群 Master 节点 内网IP 的 30080 TCP、30081 TCP、30081 UDP 端口;

            • 如果您打算新添加到 Kuboard 中的集群与当前集群不在同一个局域网,请咨询 Kuboard 团队,帮助您解决问题。

            6. 卸载

            执行 Kuboard v3 的卸载

              kubectl delete -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
              复制

                  

              清理遗留数据

              在 master 节点以及带有 k8s.kuboard.cn/role=etcd 标签的节点上执行

                rm -rf usr/share/kuboard
                复制

                7. 升级-K8S部署方式

                采用不同方式安装,则采用不同方式进行升级。

                K8S部署方式升级,直接修改 kuboard 名称空间下名称为 kuboard-v3 的 Deployment 的镜像版本号为最新的版本号,然后等待片刻即可。

                查看kuboard下的pod

                  [root@k8s3-master ~]# kubectl get pod -n kuboard
                  NAME READY STATUS RESTARTS AGE
                  kuboard-agent-2-8465b87b88-z6jb5 1/1 Running 0 66m
                  kuboard-agent-594497b96d-cdcr9 1/1 Running 1 (66m ago) 66m
                  kuboard-etcd-xrkh5 1/1 Running 0 67m
                  kuboard-questdb-59d446948-d5pcc 1/1 Running 0 66m
                  kuboard-v3-56b4b954c9-bgkrh 1/1 Running 0 67m
                  复制

                  更新deployment kuboard-v3的image版本

                    [root@k8s3-master ~]# kubectl set image deployment/kuboard-v3 kuboard=eipwork/kuboard:v3.3.0.7 -n kuboard
                    deployment.apps/kuboard-v3 image updated
                    复制

                    确认升级版本

                    可通过kuboard界面查看升级后的版本

                    8. 参考

                      https://kuboard.cn/install/v3/install-in-k8s.html#%E5%AE%89%E8%A3%85
                      https://kuboard.cn/install/v3-upgrade.html#%E5%A6%82%E6%9E%9C%E4%BB%A5-docker-run-%E8%BF%90%E8%A1%8C-kuboard
                      复制

                      - 完 -



                      旨在交流,不足之处,还望抛砖。

                      作者:王坤,微信公众号:rundba,欢迎转载,转载请注明出处。

                      如需公众号转发,请联系wx: landnow。




                       






                                                   长按二维码                                   


                      欢迎加入>>国产DB学习交流群


                             

                         请注明:来自rundba,加入国产DB学习交流群                

                                   



                      文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                      评论