kubernetes dashboard 2.0版本安装及RBAC授权

简介: kubernetes dashboard 2.0版本安装及RBAC授权

概念介绍

1.apiserver

对于k8s集群来说,apiserver是整个集群访问控制的唯一入口,那么与apiserver打交道的客户端有哪些?

我们集群内部需要运行很多pod资源,这些pod中的应用程序都需要访问apiserver:

如coredns这个容器,它需要通过apiserver获取需要创建什么资源;dashboard在浏览器可以访问,然后我们可以对里面的资源进行增删改查,创建其他pod或者命名空间,这些都需要与apiserver进行交互。用户访问kubernetes集群需要经历如下过程:身份认证->授权

接下来看下认证,授权,准入控制具体概念和相关知识。


2.认证

2.1 认证支持多种插件

(1)令牌(token)认证:

双方有一个共享密钥,服务器上先创建一个密码,存下来,客户端登陆的时候拿这个密码登陆即可,这个就是对称密钥认证方式;k8s提供了一个restful风格的接口,它的所有服务都是通过http协议提供的,因此认证信息只能经由http协议的认证首部进行传递,这种认证首部进行传递通常叫做令牌;

(2)ssl认证:

对于k8s访问来讲,ssl认证能让客户端确认服务器的认证身份,我们在跟服务器通信的时候,需要服务器发过来一个证书,我们需要确认这个证书是不是ca签署的,如果是我们认可的ca签署的,里面的subj信息与我们访问的目标主机信息保持一致,没有问题,那么我们就认为服务器的身份得到认证。了,k8s中最重要的是服务器还需要认证客户端的信息,kubectl也应该有一个证书,这个证书也是server所认可的ca签署的证书,双方需要互相认证,实现加密通信,这就是ssl认证。


2.2 kubernetes上的账号

客户端对apiserver发起请求,apiserver要识别这个用户是否有请求的权限,要识别用户本身能否通过apiserver执行相应的操作,那么需要哪些信息才能识别用户信息来完成对用户的相关的访问控制呢?

    kubectl  explain  pods.spec

    可以看到有一个字段serviceAccountName(服务账号名称),这个就是我们pod连接apiserver时使用的账号

    因此整个kubernetes集群中的账号有两类,ServiceAccount(服务账号),User account(用户账号)

    User account:

      实实在在现实中的人,人可以登陆的账号,客户端想要对apiserver发起请求,apiserver要识别这个客户端是否有请求的权限,那么不同的用户就会有不同的权限,靠用户账号表示,叫做username;

      ServiceAccount

        方便Pod里面的进程调用Kubernetes API或其他外部服务而设计的,是kubernetes中的一种资源


        serviceaccount(sa)账号:登陆dashboad使用的账号

        user account:这个是登陆k8s物理机器的用户


        ServiceAccount

        Service account是为了方便Pod里面的进程调用Kubernetes API或其他外部服务而设计的。它与User account不同。

        User account

        1)User account是为人设计的,而service account则是为Pod中的进程调用Kubernetes API而设计;

        2)User  account是跨namespace的,而service account则是仅局限它所在的namespace;

        3)每个namespace都会自动创建一个default service account

        4)开启ServiceAccount Admission Controller后

        每个Pod在创建后都会自动设置spec.serviceAccount为default(除非指定了其他ServiceAccout)
        验证Pod引用的service account已经存在,否则拒绝创建
        如果Pod没有指定ImagePullSecrets,则把service account的ImagePullSecrets加到Pod中

        当创建pod的时候,如果没有指定一个serviceaccount,系统会自动在与该pod相同的namespace下为其指派一个default serviceaccount。而pod和apiserver之间进行通信的账号,称为serviceAccountName。如下:

        kubectl get pods

        kubectl get pods frontend-4tbz4 -o yaml | grep "serviceAccountName


        kubectl describe pods frontend-4tbz4


        从上面可以看到每个Pod无论定义与否都会有个存储卷,这个存储卷为default-token-***的 token令牌,这就是pod和serviceaccount认证信息。通过secret进行定义,由于认证信息属于敏感信息,所以需要保存在secret资源当中,并以存储卷的方式挂载到Pod当中。从而让Pod内运行的应用通过对应的secret中的信息来连接apiserver,并完成认证。每个 namespace 中都有一个默认的叫做 default 的 serviceaccount 资源。进行查看名称空间内的secret,也可以看到对应的default-token。让当前名称空间中所有的pod在连接apiserver时可以使用的预制认证信息,从而保证pod之间的通信。

        kubectl get sa

        kubectl get sa -n  kube-system


        kubectl get secret

        kubectl get secret -n kube-system

        默认的service account 仅仅只能获取当前Pod自身的相关属性,无法观察到其他名称空间Pod的相关属性信息。如果想要扩展Pod,假设有一个Pod需要用于管理其他Pod或者是其他资源对象,是无法通过自身的名称空间的serviceaccount进行获取其他Pod的相关属性信息的,此时就需要进行手动创建一个serviceaccount,并在创建Pod时进行定义。那么serviceaccount该如何进行定义呢?实际上,service accout也属于一个k8s资源,serviceAccount也属于标准的k8s资源,可以创建一个serviceAccount,创建之后由我们创建的pod使用serviceAccountName去加载自己定义的serviceAccount就可以了。


        3.授权

        如果用户通过认证,那么什么权限都没有,需要一些后续的授权操作,如对资源的增删该查等,kubernetes1.6之后开始有RBAC(基于角色的访问控制机制)授权检查机制。Kubernetes的授权是基于插件形式的,其常用的授权插件有以下几种:

        Node(节点认证)
        ABAC(基于属性的访问控制)
        RBAC(基于角色的访问控制)
        Webhook(基于http回调机制的访问控制)

        让一个用户(Users)扮演一个角色(Role),角色拥有权限,从而让用户拥有这样的权限,随后在授权机制当中,只需要将权限授予某个角色,此时用户将获取对应角色的权限,从而实现角色的访问控制。如图:

        在k8s的授权机制当中,采用RBAC的方式进行授权,其工作逻辑是,把对对象的操作权限定义到一个角色当中,再将用户绑定到该角色,从而使用户得到对应角色的权限。如果通过rolebinding绑定role,只能对rolebingding所在的名称空间的资源有权限,上图user1这个用户绑定到role1上,只对role1这个名称空间的资源有权限,对其他名称空间资源没有权限,属于名称空间级别的;另外,k8s为此还有一种集群级别的授权机制,就是定义一个集群角色(ClusterRole),对集群内的所有资源都有可操作的权限,从而将User2通过ClusterRoleBinding到ClusterRole,从而使User2拥有集群的操作权限。Role、RoleBinding、ClusterRole和ClusterRoleBinding的关系如下图:


        通过上图可以看到,可以通过rolebinding绑定role,rolebinding绑定clusterrole,clusterrolebinding绑定clusterrole。

        上面我们说了两个角色绑定:

          (1)用户通过rolebinding绑定role
          (2)用户通过clusterrolebinding绑定clusterrole

          还有一种:rolebinding绑定clusterrole

          假如有6个名称空间,每个名称空间的用户都需要对自己的名称空间有管理员权限,那么需要定义6个role和rolebinding,然后依次绑定,如果名称空间更多,我们需要定义更多的role,这个是很麻烦的,所以我们引入clusterrole,定义一个clusterrole,对clusterrole授予所有权限,然后用户通过rolebinding绑定到clusterrole,就会拥有自己名称空间的管理员权限了

          注:RoleBinding仅仅对当前名称空间有对应的权限。


          4.准入控制

          一般而言,准入控制只是用来定义我们授权检查完成之后的后续的其他安全检查操作的,进一步补充了授权机制,由多个插件组合实行,一般而言在创建,删除,修改或者做代理时做补充;

          安装和访问kubernetes

          安装kubernetes-dashboard 2.0版本(kubernetes的web ui界面)

          把kubernetes-dashboard镜像上传到k8s集群的各个节点,按照如下方法通过docker load -i解压,镜像地址在百度网盘,可按如下链接下载:

          链接:https://pan.baidu.com/s/1_1sBTSDw1FeKCncCLLi5dA
          提取码:eel8
          链接:https://pan.baidu.com/s/1YtDQKrUuD6jH4VJ93zZcBg
          提取码:q6b8

          docker load -i dashboard_2_0_0.tar.gz

          docker load -i metrics-scrapter-1-0-1.tar.gz


          在master1节点操作

            kubectl apply -f kubernetes-dashboard.yaml

            kubernetes-dashboard.yaml文件内容在如下链接地址处复制https://raw.githubusercontent.com/luckylucky421/kubernetes1.17.3/master/kubernetes-dashboard.yaml

             

            查看dashboard是否安装成功:

              kubectl get pods -n kubernetes-dashboard

              显示如下,说明dashboard安装成功了

              NAME                                         READY   STATUS    RESTARTS   AGE  
              dashboard-metrics-scraper-694557449d-8xmtf   1/1     Running   0          60s   
              kubernetes-dashboard-5f98bdb684-ph9wg        1/1     Running   2          60s   

              查看dashboard前端的service

                kubectl get svc -n kubernetes-dashboard

                显示如下:

                NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE   
                dashboard-metrics-scraper   ClusterIP   10.100.23.9      <none>        8000/TCP   50s   
                kubernetes-dashboard        ClusterIP   10.105.253.155   <none>        443/TCP    50s 

                修改service type类型变成NodePort:

                kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard

                把 type: ClusterIP变成 type: NodePort,保存退出即可

                  kubectl get svc -n kubernetes-dashboard

                  显示如下:

                  NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
                  dashboard-metrics-scraper   ClusterIP   10.100.23.9      <none>        8000/TCP        3m59s
                  kubernetes-dashboard        NodePort    10.105.253.155   <none>        443:31175/TCP   4m

                  上面可看到service类型是NodePort,访问master1节点ip:31175端口即可访问kubernetes dashboard,我的环境需要输入如下地址

                   https://192.168.0.6:31775/


                  可看到出现了dashboard界面



                  1通过yaml文件里指定的默认的token登陆dashboard


                  1)查看kubernetes-dashboard名称空间下的secret

                  kubectl get secret -n kubernetes-dashboard

                  显示如下:

                  NAME                               TYPE                                  DATA   AGE
                  default-token-vxd7t                kubernetes.io/service-account-token   3      5m27s
                  kubernetes-dashboard-certs         Opaque                                0      5m27s
                  kubernetes-dashboard-csrf          Opaque                                1      5m27s
                  kubernetes-dashboard-key-holder    Opaque                                2      5m27s
                  kubernetes-dashboard-token-ngcmg   kubernetes.io/service-account-token   3      5m27s

                  2)找到对应的带有token的kubernetes-dashboard-token-ngcmg

                  kubectl  describe  secret  kubernetes-dashboard-token-ngcmg  -n   kubernetes-dashboard

                  显示如下:

                  ...

                  ...

                  token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IjZUTVVGMDN4enFTREpqV0s3cDRWa254cTRPc2xPRTZ3bk8wcFJBSy1JSzgifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi1uZ2NtZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImYwMDFhNTM0LWE2ZWQtNGQ5MC1iMzdjLWMxMWU5Njk2MDE0MCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.WQFE0ygYdKkUjaQjFFU-BeWqys07J98N24R_azv6f-o9AB8Zy1bFWZcNrOlo6WYQuh-xoR8tc5ZDuLQlnZMBSwl2jo9E9FLZuEt7klTfXf4TkrQGLCxzDMD5c2nXbdDdLDtRbSwQMcQwePwp5WTAfuLyqJPFs22Xi2awpLRzbHn3ei_czNuamWUuoGHe6kP_rTnu6OUpVf1txi9C1Tg_3fM2ibNy-NWXLvrxilG3x3SbW1A3G6Y2Vbt1NxqVNtHRRQsYCvTnp3NZQqotV0-TxnvRJ3SLo_X6oxdUVnqt3DZgebyIbmg3wvgAzGmuSLlqMJ-mKQ7cNYMFR2Z8vnhhtA


                  记住token后面的值,把下面的token值复制到浏览器token登陆处即可登陆:

                  eyJhbGciOiJSUzI1NiIsImtpZCI6IjZUTVVGMDN4enFTREpqV0s3cDRWa254cTRPc2xPRTZ3bk8wcFJBSy1JSzgifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi1uZ2NtZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImYwMDFhNTM0LWE2ZWQtNGQ5MC1iMzdjLWMxMWU5Njk2MDE0MCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.WQFE0ygYdKkUjaQjFFU-BeWqys07J98N24R_azv6f-o9AB8Zy1bFWZcNrOlo6WYQuh-xoR8tc5ZDuLQlnZMBSwl2jo9E9FLZuEt7klTfXf4TkrQGLCxzDMD5c2nXbdDdLDtRbSwQMcQwePwp5WTAfuLyqJPFs22Xi2awpLRzbHn3ei_czNuamWUuoGHe6kP_rTnu6OUpVf1txi9C1Tg_3fM2ibNy-NWXLvrxilG3x3SbW1A3G6Y2Vbt1NxqVNtHRRQsYCvTnp3NZQqotV0-TxnvRJ3SLo_X6oxdUVnqt3DZgebyIbmg3wvgAzGmuSLlqMJ-mKQ7cNYMFR2Z8vnhhtA

                  点击sing in登陆,显示如下,默认是只能看到default名称空间内容



                  2 创建管理员token,可查看任何空间权限

                  kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard

                  1)查看kubernetes-dashboard名称空间下的secret

                  kubectl get secret -n kubernetes-dashboard

                  显示如下:

                  NAME                               TYPE                                  DATA   AGE
                  default-token-vxd7t                kubernetes.io/service-account-token   3      5m27s
                  kubernetes-dashboard-certs         Opaque                                0      5m27s
                  kubernetes-dashboard-csrf          Opaque                                1      5m27s
                  kubernetes-dashboard-key-holder    Opaque                                2      5m27s
                  kubernetes-dashboard-token-ngcmg   kubernetes.io/service-account-token   3      5m27s

                  2)找到对应的带有token的kubernetes-dashboard-token-ngcmg

                  kubectl  describe  secret  kubernetes-dashboard-token-ngcmg  -n   kubernetes-dashboard

                  显示如下:

                  ...

                  ...

                  token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IjZUTVVGMDN4enFTREpqV0s3cDRWa254cTRPc2xPRTZ3bk8wcFJBSy1JSzgifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi1uZ2NtZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImYwMDFhNTM0LWE2ZWQtNGQ5MC1iMzdjLWMxMWU5Njk2MDE0MCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.WQFE0ygYdKkUjaQjFFU-BeWqys07J98N24R_azv6f-o9AB8Zy1bFWZcNrOlo6WYQuh-xoR8tc5ZDuLQlnZMBSwl2jo9E9FLZuEt7klTfXf4TkrQGLCxzDMD5c2nXbdDdLDtRbSwQMcQwePwp5WTAfuLyqJPFs22Xi2awpLRzbHn3ei_czNuamWUuoGHe6kP_rTnu6OUpVf1txi9C1Tg_3fM2ibNy-NWXLvrxilG3x3SbW1A3G6Y2Vbt1NxqVNtHRRQsYCvTnp3NZQqotV0-TxnvRJ3SLo_X6oxdUVnqt3DZgebyIbmg3wvgAzGmuSLlqMJ-mKQ7cNYMFR2Z8vnhhtA


                  记住token后面的值,把下面的token值复制到浏览器token登陆处即可登陆:

                  eyJhbGciOiJSUzI1NiIsImtpZCI6IjZUTVVGMDN4enFTREpqV0s3cDRWa254cTRPc2xPRTZ3bk8wcFJBSy1JSzgifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi1uZ2NtZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImYwMDFhNTM0LWE2ZWQtNGQ5MC1iMzdjLWMxMWU5Njk2MDE0MCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.WQFE0ygYdKkUjaQjFFU-BeWqys07J98N24R_azv6f-o9AB8Zy1bFWZcNrOlo6WYQuh-xoR8tc5ZDuLQlnZMBSwl2jo9E9FLZuEt7klTfXf4TkrQGLCxzDMD5c2nXbdDdLDtRbSwQMcQwePwp5WTAfuLyqJPFs22Xi2awpLRzbHn3ei_czNuamWUuoGHe6kP_rTnu6OUpVf1txi9C1Tg_3fM2ibNy-NWXLvrxilG3x3SbW1A3G6Y2Vbt1NxqVNtHRRQsYCvTnp3NZQqotV0-TxnvRJ3SLo_X6oxdUVnqt3DZgebyIbmg3wvgAzGmuSLlqMJ-mKQ7cNYMFR2Z8vnhhtA

                  点击sing in登陆,显示如下,这次就可以看到和操作任何名称空间的资源了

                  dash

                  board 2.0

                  相关实践学习
                  容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
                  通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
                  云原生实践公开课
                  课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
                  相关文章
                  |
                  2月前
                  |
                  Kubernetes 数据安全/隐私保护 Docker
                  |
                  3月前
                  |
                  Web App开发 Kubernetes 数据可视化
                  Kubernetes Dashboard 可视化插件部署 博主亲自实践可用
                  Kubernetes Dashboard 可视化插件部署 博主亲自实践可用
                  52 0
                  |
                  13天前
                  |
                  Kubernetes Linux 网络安全
                  kubeadm安装k8s
                  该文档提供了一套在CentOS 7.6上安装Docker和Kubernetes(kubeadm)的详细步骤,包括安装系统必备软件、关闭防火墙和SELinux、禁用swap、开启IP转发、设置内核参数、配置Docker源和加速器、安装指定版本Docker、启动Docker、设置kubelet开机启动、安装kubelet、kubeadm、kubectl、下载和配置Kubernetes镜像、初始化kubeadm、创建kubeconfig文件、获取节点加入集群命令、下载Calico YAML文件以及安装Calico。这些步骤不仅适用于v1.19.14,也适用于更高版本。
                  69 1
                  |
                  25天前
                  |
                  Kubernetes Ubuntu 应用服务中间件
                  Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
                  Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
                  103 0
                  |
                  30天前
                  |
                  Kubernetes 测试技术 API
                  ChaosBlade常见问题之安装K8S探针心跳检测失败如何解决
                  ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
                  19 0
                  |
                  1月前
                  |
                  Kubernetes 应用服务中间件 nginx
                  Kubernetes服务网络Ingress网络模型分析、安装和高级用法
                  Kubernetes服务网络Ingress网络模型分析、安装和高级用法
                  36 5
                  |
                  1月前
                  |
                  存储 Kubernetes 监控
                  KubeSphere平台安装系列之一【Kubernetes上安装KubeSphere(亲测--实操完整版)】(1/3)
                  KubeSphere平台安装系列之一【Kubernetes上安装KubeSphere(亲测--实操完整版)】(1/3)
                  40 0
                  |
                  1月前
                  |
                  存储 Kubernetes 监控
                  K8S集群上安装KubeSphere的详细过程
                  K8S集群上安装KubeSphere的详细过程
                  29 0
                  |
                  1月前
                  |
                  Kubernetes Linux Docker
                  深度解析:Kubernetes 1.28.2集群安装过程中的关键步骤
                  本文旨在为读者提供一份详尽的Kubernetes 1.28.2集群安装指南,帮助您从零开始构建稳定、高效的Kubernetes集群。我们将从环境准备、软件安装、集群初始化到节点添加等各个环节进行逐步讲解,确保您能够顺利完成集群的搭建。
                  |
                  1月前
                  |
                  运维 Kubernetes API
                  kubernetes 安装 kubernetes-dashboard 7.x
                  kubernetes 安装 kubernetes-dashboard 7.x
                  36 0