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

2021年09月15日 阅读数:1
这篇文章主要向大家介绍30分钟学会Docker里面开启k8s(Kubernetes)登陆仪表盘(图文讲解),主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

前言

咱们以前搭建了第一个docker项目:html

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

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

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

Docker:Docker Desktop for Window 数据库

Kubernetes版本:1.21.2segmentfault

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


拉取Kubernetes镜像

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

命令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

一、修改host地址

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

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

# Kubernetes
127.0.0.1 kubernetes.docker.internal

二、配置镜像加速

配置完后点击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 字符替换为你获取到的地址,下面打码遮挡的部分。
注:这里的加速地址你们除了这几个,还能够去百度不少个进来。

 

三、启动镜像加速

 

四、设置k8s上下文

首先获取全部上下文,执行以下命令,获得NAME名称:

kubectl config get-contexts

 

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

kubectl config use-context docker-desktop

 

五、验证集群状态

kubectl cluster-info

 

六、安装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

 

七、访问Kubernetes Dashboard

使用 kubectl proxy 命令访问

kubectl proxy

 

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

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

 


配置Token并登陆

一、建立服务帐号

首先建立一个叫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

二、绑定角色

 

默认状况下,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命令

 

三、获取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
您能够随意转载、摘录,但请在文章内注明做者和原文连接。