zoukankan      html  css  js  c++  java
  • 30分钟学会Docker里面开启k8s(Kubernetes)登录仪表盘(图文讲解:docker二)

    前言

    我们之前搭建了第一个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:ProgramDataDockerDesktop mp-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)仪表盘并登录成功了。


     参考文献


     下篇预告

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

     
    欢迎关注订阅微信公众号【熊泽有话说】,更多好玩易学知识等你来取
    作者:熊泽-学习中的苦与乐
    公众号:熊泽有话说
    出处:   https://www.cnblogs.com/xiongze520/p/15268520.html
    您可以随意转载、摘录,但请在文章内注明作者和原文链接。  

     

  • 相关阅读:
    python删除hbase一整列数据
    selenium基本操作
    python去除html标签及标签里面的内容
    Ambari-server 启动错误
    scala 命名规范
    HDFS坏块修复
    Nodejs+MySql+Echart(html模板渲染)
    Ambari openssl错误
    设置mysql 远程连接
    JMS 简介笔记
  • 原文地址:https://www.cnblogs.com/xiongze520/p/15268520.html
Copyright © 2011-2022 走看看