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

30分钟学会Docker里面开启k8s(Kubernetes)登录仪表盘(图文讲解)

熊泽有话说 2021-09-15
4383

目录

  • 前言

  • 拉取Kubernetes镜像

  • 安装Kubernetes镜像

  • 开启Kubernetes

    • 1、修改host地址

    • 2、配置镜像加速

    • 3、启动镜像加速

    • 4、设置k8s上下文

    • 5、验证集群状态

    • 6、安装k8s管理页面Dashboard

    • 7、访问Kubernetes Dashboard

  • 配置Token并登录

    • 1、创建服务账号

    • 2、绑定角色

    • 3、获取Token并登录

  •  参考文献

  •  下篇预告

 


前言

我们之前搭建了第一个docker项目:

windows环境30分钟从0开始快速搭建第一个docker项目(带数据库交互):https://www.cnblogs.com/xiongze520/p/15069441.html

然而我们知道,docker和k8s(Kubernetes)是配套使用的,我们今天就开启k8s并登录仪表盘。

注意:没有安装docker的可以先进行docker的搭建,接下来都是基于安装好docker的基础上进行的。

Docker:Docker Desktop for Window

Kubernetes版本:1.21.2

演示电脑系统版本:Windows 10 专业版


拉取Kubernetes镜像

方式一:使用下面命令拉取(不建议使用,github比较慢,会导致git失败)

命令1(拉取镜像分支):git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git

命令2(进入拉取的分支目录):cd k8s-for-docker-desktop

命令3(切换到指定版本)git checkout v1.21.2

 

方式二:强烈建议使用

点击下面地址链接进入Kubernetes主页,选择指定的版本下载代码,点击下载zip后解压,后续操作在解压目录。

注意:如果显示无法访问,可以多访问几次,网络问题导致,这个链接地址是正确的。

https://github.com/AliyunContainerService/k8s-for-docker-desktop

 

下载后解压到自己的指定目录,文件名可以自定义。


 安装Kubernetes镜像

以管理员身份运行PowerShell,如果运行失败,运行x86的版本也可以。

 

进入我们下载安装的目录,如果路径不正确的自行跳转,如下:

cd..  返回上一级

cd 进入指定目录

 

 进入解压目录后,执行下面语句安装,静待安装完成。

    .\load_images.ps1

     

    安装完成后可以 使用docker images
    命令查看。


    开启Kubernetes


    1、修改host地址

    将C:\ProgramData\DockerDesktop\tmp-d4w的host.docker.internal内容修改。

    修改后内容指向本机,后续k8s仪表盘地址可自行修改。

      # Kubernetes
      127.0.0.1 kubernetes.docker.internal


      2、配置镜像加速

      配置完后点击Apply&Restart保存。

        {
        "registry-mirrors": [
        "https://dockerhub.azk8s.cn",
        "https://registry.docker-cn.com",
        "https://xxx.mirror.aliyuncs.com"
        ],
        "insecure-registries": [],
        "debug": true,
        "experimental": true,
        "features": {
        "buildkit": true
        },
        "builder": {
        "gc": {
        "enabled": true,
        "defaultKeepStorage": "20GB"
        }
        }
        }
        https://xxx.mirror.aliyuncs.com是阿里云镜像,
        查看阿里云的镜像加速器地址,https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,
        需要登录阿里云才能查看,将 xxx 字符替换为你获取到的地址,下面打码遮挡的部分。
        注:这里的加速地址大家除了这几个,还可以去百度很多个进来。

         


        3、启动镜像加速

         


        4、设置k8s上下文

        首先获取所有上下文,执行如下命令,得到NAME名称:

          kubectl config get-contexts

           

           设置上下文(注意,后面的名称是查看上下文时的NAME,也就是docker-desktop,如果有docker-for-desktop的话也可以)

            kubectl config use-context docker-desktop

             


            5、验证集群状态

              kubectl cluster-info

               


              6、安装k8s管理页面Dashboard

                #方式1
                kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml


                #方式2(推荐)
                kubectl create -f kubernetes-dashboard.yaml

                使用命令重新安装

                  kubectl delete -f kubernetes-dashboard.yaml
                  kubectl create -f kubernetes-dashboard.yaml

                   

                   查看Dashboard镜像是否正常运行

                    kubectl get pods --all-namespaces

                     


                    7、访问Kubernetes Dashboard

                    使用 kubectl proxy 命令访问

                      kubectl proxy

                       

                       打开浏览器输入以下地址访问(注意,PowerShell窗口不要关闭,关闭后无法访问)

                        http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy

                         


                        配置Token并登录


                        1、创建服务账号

                        首先创建一个叫admin-user
                        的服务账号,并放在kubernetes-dashboard
                        命名空间下。

                        注意:这里需要重新开启一个PowerShell,原来开启的不要动。

                          New-Item admin-user.yaml

                           

                          创建成功后这是一个空文件,用记事本或者其他方式打开文件, 复制如下内容保存。

                            # admin-user.yaml
                            apiVersion: v1
                            kind: ServiceAccount
                            metadata:
                            name: admin-user
                            namespace: kubernetes-dashboard

                             

                            保存后执行kubectl create
                            命令

                              kubectl create -f admin-user.yaml


                              2、绑定角色

                               

                              默认情况下,kubeadm创建集群时已经创建了admin角色,我们直接绑定即可:
                              使用命令

                                New-Item admin-user-role-binding.yaml

                                同样的,创建成功后这是一个空文件,用记事本或者其他方式打开文件, 复制如下内容保存。

                                  # admin-user-role-binding.yaml
                                  apiVersion: rbac.authorization.k8s.io/v1beta1
                                  kind: ClusterRoleBinding
                                  metadata:
                                  name: admin-user
                                  roleRef:
                                  apiGroup: rbac.authorization.k8s.io
                                  kind: ClusterRole
                                  name: cluster-admin
                                  subjects:
                                  - kind: ServiceAccount
                                  name: admin-user
                                  namespace: kubernetes-dashboard

                                   

                                  保存后执行kubectl create命令

                                   


                                  3、获取Token并登录

                                  执行如下命令即可获得。

                                    $TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
                                    kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
                                    echo $TOKEN

                                    由于我已经获取过了,所以这里显示有问题,这个是永久的,获取后可以放到记事本保存起来。

                                     

                                     获取到Token后,直接复制token进行登录刚刚的面板,如下

                                     

                                     

                                    这样我们就在Docker里面开启k8s(Kubernetes)仪表盘并登录成功了。


                                    参考文献

                                    • Docker Desktop for Mac/Windows 开启 Kubernetes:https://codechina.csdn.net/mirrors/AliyunContainerService/k8s-for-docker-desktop/-/tree/v1.19.3

                                    • docker for desktop安装k8s踩坑记:https://segmentfault.com/a/1190000022975386?utm_source=tag-newest

                                    • 解决开启Kubernetes失败:https://blog.csdn.net/zhhao1/article/details/105752429/

                                    • 基于Docker Desktop for Windows安装Kubernetes:https://blog.csdn.net/simongame/article/details/106727108

                                    • 如何在win10的docker desktop中启动Kubernetes:https://www.tqwba.com/x_d/jishu/272978.html


                                    下篇预告

                                    在kubernetes里面部署服务器集群并访问项目


                                    番外:kubernetes,简称k8s,k和s之间有8个字母。

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

                                    评论