• KubeGems容器云平台体验


    KubeGems容器云平台简介

    KubeGems 是一款开源的企业级多租户容器云平台。围绕云原生社区,KubeGems 提供了多 Kubernetes 集群接入能力,并具备丰富的组件管理和资源成本分析功能,能够帮助企业快速的构建和打造一个本地化、功能强大且低成本的云管理平台。

    在这里插入图片描述

    官方网站:https://www.kubegems.io/

    项目地址:https://github.com/kubegems/kubegems

    KubeGems容器云平台部署

    helm仓库地址:

    https://artifacthub.io/packages/helm/kubegems/kubegems

    https://artifacthub.io/packages/helm/kubegems/kubegems-installer

    准备kubernetes集群节点,版本信息如下:

    root@node01:~# kubectl get nodes -o wide
    NAME     STATUS     ROLES           AGE     VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE           KERNEL-VERSION      CONTAINER-RUNTIME
    node01   Ready      control-plane   3d15h   v1.25.3   192.168.72.61   <none>        Ubuntu 22.04 LTS   5.15.0-27-generic   cri-o://1.25.1
    node02   Ready      <none>          3d15h   v1.25.3   192.168.72.62   <none>        Ubuntu 22.04 LTS   5.15.0-53-generic   cri-o://1.25.1
    node03   Ready      <none>          3d15h   v1.25.3   192.168.72.63   <none>        Ubuntu 22.04 LTS   5.15.0-27-generic   cri-o://1.25.1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    集群已准备默认storageclass,标记为(default)

    root@node01:~# kubectl get sc
    NAME                       PROVISIONER            RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
    cstor-csi-disk (default)   cstor.csi.openebs.io   Delete          Immediate           true                   3d14h
    
    • 1
    • 2
    • 3

    添加kubegems helm仓库

    helm repo add kubegems https://charts.kubegems.io/kubegems
    
    • 1

    查看可安装的chart版本

    helm search repo kubegems/kubegems-installer --versions
    helm search repo kubegems/kubegems --versions
    
    • 1
    • 2

    首先安装kubegems installer

    helm install kubegems-installer -n kubegems-installer --create-namespace \
      --version=1.23.8 \
      kubegems/kubegems-installer
    
    • 1
    • 2
    • 3

    查看创建的pods

    root@node1:~# kubectl -n kubegems-installer get pods
    NAME                                  READY   STATUS    RESTARTS        AGE
    kubegems-installer-6bcc9c4d96-pglh4   1/1     Running   1 (7m19s ago)   28m
    
    • 1
    • 2
    • 3

    安装kubegems,使用NodePort方式暴露service

    helm install kubegems -n kubegems --create-namespace \
      --version=1.23.8 \
      --set ingress.enable=false \
      --set dashboard.service.type=NodePort \
      kubegems/kubegems
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看创建的pods

    root@node1:~# kubectl -n kubegems get pods
    NAME                                               READY   STATUS      RESTARTS        AGE
    kubegems-api-5df44cd758-zvx58                      1/1     Running     3 (5m21s ago)   15m
    kubegems-argo-cd-app-controller-5c4d64cdf6-cfmxc   1/1     Running     1 (6m43s ago)   15m
    kubegems-argo-cd-repo-server-7dccf67b7f-5897x      1/1     Running     1 (6m43s ago)   15m
    kubegems-argo-cd-server-76b597d76-txpzf            1/1     Running     1 (6m43s ago)   15m
    kubegems-chartmuseum-546489d9fc-r9xbs              1/1     Running     1 (6m43s ago)   15m
    kubegems-charts-init-rsnvd                         0/1     Completed   0               15m
    kubegems-dashboard-85c8fcd698-h5m6h                1/1     Running     2 (6m13s ago)   15m
    kubegems-gitea-0                                   1/1     Running     1 (6m43s ago)   15m
    kubegems-msgbus-bd55944b7-jgvlg                    1/1     Running     3 (5m17s ago)   15m
    kubegems-mysql-0                                   1/1     Running     1 (6m43s ago)   15m
    kubegems-redis-master-0                            1/1     Running     1 (6m43s ago)   15m
    kubegems-worker-76d4f54769-kjghx                   1/1     Running     6 (5m19s ago)   15m
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    查看创建的service

    root@node1:~# kubectl -n kubegems get svc
    NAME                              TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)                       AGE
    kubegems-api                      ClusterIP   10.96.1.162   <none>        80/TCP,9100/TCP               15m
    kubegems-argo-cd-app-controller   ClusterIP   10.96.2.85    <none>        8082/TCP                      15m
    kubegems-argo-cd-repo-server      ClusterIP   10.96.2.59    <none>        8081/TCP                      15m
    kubegems-argo-cd-server           ClusterIP   10.96.3.110   <none>        80/TCP,443/TCP                15m
    kubegems-chartmuseum              ClusterIP   10.96.0.125   <none>        8080/TCP                      15m
    kubegems-dashboard                NodePort    10.96.3.82    <none>        80:30364/TCP,9100:31968/TCP   15m
    kubegems-gitea-http               ClusterIP   None          <none>        3000/TCP                      15m
    kubegems-gitea-ssh                ClusterIP   None          <none>        22/TCP                        15m
    kubegems-msgbus                   ClusterIP   10.96.1.110   <none>        80/TCP,9100/TCP               15m
    kubegems-mysql                    ClusterIP   10.96.3.209   <none>        3306/TCP                      15m
    kubegems-mysql-headless           ClusterIP   None          <none>        3306/TCP                      15m
    kubegems-redis-headless           ClusterIP   None          <none>        6379/TCP                      15m
    kubegems-redis-master             ClusterIP   10.96.2.9     <none>        6379/TCP                      15m
    kubegems-worker                   ClusterIP   10.96.2.89    <none>        80/TCP,9100/TCP               15m
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    查看创建的pvc

    root@node1:~# kubectl -n kubegems get pvc
    NAME                                 STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS       AGE
    data-kubegems-gitea-0                Bound    pvc-1946d826-2978-4bef-9448-4ab107bb0bf1   10Gi       RWO            openebs-hostpath   15m
    data-kubegems-mysql-0                Bound    pvc-21bb688f-cba2-4db0-b32b-2dc4d37ded1c   8Gi        RWO            openebs-hostpath   15m
    kubegems-chartmuseum                 Bound    pvc-740b4bae-4f7d-4c1b-8577-e774fd0cf7a4   10Gi       RWO            openebs-hostpath   15m
    kubegems-data                        Bound    pvc-96c20646-eff4-45b9-b37b-4116e08f7b09   6Gi        RWO            openebs-hostpath   15m
    redis-data-kubegems-redis-master-0   Bound    pvc-26c6f5e1-941f-4b3c-9590-e3e3fe7fc73b   8Gi        RWO            openebs-hostpath   15m
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    如果需要卸载kubegems,执行以下命令

    helm -n kubegems uninstall kubegems 
    helm -n kubegems-installer uninstall kubegems-installer
    kubectl -n kubegems delete pvc --all
    
    • 1
    • 2
    • 3

    访问kubegems 平台

    查看nodeport

    kubectl -n kubegems get svc kubegems-dashboard -ojsonpath='{.spec.ports[0].nodePort}'
    
    • 1

    浏览器登录kubegems管理界面,,默认用户名为admin,密码为demo!@#admin

    http://192.168.72.61:32720
    
    • 1

    点击右下方设置–>平台管理,添加集群

    在这里插入图片描述
    在master节点获取kubeconfgi文件并粘贴到文本框。

    root@node01:~# cat /root/.kube/config 
    
    • 1

    配置集群信息
    在这里插入图片描述
    集群添加成功
    在这里插入图片描述
    点击插件管理,启用监控插件

    在这里插入图片描述

    选择一个集群,查看节点信息

    在这里插入图片描述

    查看集群信息
    在这里插入图片描述

    查看容器组

    在这里插入图片描述
    查看应用商店
    在这里插入图片描述

  • 相关阅读:
    替代MySQL半同步复制,Meta技术团队推出MySQL Raft共识引擎
    springboot异常(一):springboot自定义全局异常处理
    TARJAN复习 求强连通分量、割点、桥
    【题解】PAT 1018 Public Bike Management
    ChatGPT重磅升级 奢侈品VERTU推出双模型AI手机
    PPT无法插入页码 解决办法
    js如何把数组网页元素按分隔符返回字符串?document.getElementsByClassName(“class1“)
    php生成个性二维码
    音视频进阶:浅谈Android 开发音视频入门之路
    NX二次开发-NX+VS写代码设断点调试技巧
  • 原文地址:https://blog.csdn.net/networken/article/details/128048768