

30分钟学会Docker里面开启k8s(Kubernetes)登录仪表盘(图文讲解)
source link: https://www.cnblogs.com/xiongze520/p/15268520.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

我们之前搭建了第一个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)仪表盘并登录成功了。
在kubernetes里面部署服务器集群并访问项目

Recommend
-
72
有编程基础的人一看就可以了解 Python 的用法了。真正的 30 分钟上手。国外一高手画的,现把它翻译成中文,入门超简单python入门神图
-
86
World Cup 2018 CLI Dashboard 是一款命令行式的 2018 年俄罗斯足球世界杯比赛结果与赛程信息仪表盘。支持 Emoji,可以在 Docker 里运行,非常炫酷。 World Cup 2018 CLI Dashboard 是基于 NodeJS 开发的,数据来源 worldcup.sfg....
-
65
前言 由于项目需要使用到仪表盘图表,所以就本着一贯的操作流程就来github上面找,结果发现很多图表或者不是我需要的或者扩展性不强,所以就自己动手写了一个扩展性较强的,希望能帮助到有需要的人。(不过本人能力有限,有不足的地方还请见谅) 效果 详细的使用请...
-
42
早期的javascript版本没有块级作用域、没有类、没有包、也没有模块,这样会带来一些问题,如复用、依赖、冲突、代码组织混乱等,随着前端的膨胀,模块化显得非常迫切。 前端模块化规范如下: 一、前端模
-
54
毫无疑问:全液晶仪表盘肯定是未来发展的主流自我介绍下,我是汽车圈痞子蔡,从事汽车座舱HMI设计六年,前…
-
51
macOS - @jiujiii - 分享一个在 win10 里面的实现方式楼主之前都是用的 Windows10 ,在 win10 里面,我是这样做的:1.在一个新建的文件夹里面加入我要使用的所有软件的快捷方式(重点)
-
19
注: 本文首发于我的个人博客:https://evilpan.com/2019/04/05/objc-basics/ 请原谅我的标题党。但是如果你有其他语言的学习经验,要学习 Objective-C 的语法特性其实并不困难。正如我之前在软件开发的一些"心...
-
4
Periscope-Kubernetes的监控和跟踪仪表盘系统 ...
-
5
Kubernetes 集群仪表盘 dashboard&Kuboard 安装 Demo
-
2
spring事务里面开启线程插入,报错了是否会回滚? ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK