首页 > 其他分享 >30分钟学会Docker里面开启k8s(Kubernetes)登录仪表盘

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

时间:2023-02-17 16:00:44浏览次数:64  
标签:kubectl kubernetes Kubernetes admin 30 Docker k8s 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:\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)仪表盘并登录成功了。

标签:kubectl,kubernetes,Kubernetes,admin,30,Docker,k8s,docker
From: https://www.cnblogs.com/weihengblogs/p/17130468.html

相关文章

  • .NetCore6程序部署到Docker上
    使用Docker部署应用程序首先确保已经安装Docker 桌面软件,如下图: 然后,把需要部署到Docker上面的项目,咱们先添加Docker的支持,启动项目右键 -> 添加 -> Docker支持,选......
  • docker容器之dockerfile&docker-compose CMD/entrypoint详解
    docker容器之dockerfile&docker-composeCMD/entrypoint详解本文目录 [隐藏]I.CMDII.ENTRYPOINTIII.示例ENTRYPOINTCMD/command此前的RUN和CMD,我......
  • 将 ASP.Net Core WebApi 应用打包至 Docker 镜像
    将ASP.NetCoreWebApi应用打包至Docker镜像运行环境为Windows10专业版21H1,DockerDesktop3.6.0(67351),DockerEngine20.10.81.ASP.NetCoreRuntime......
  • mysql8 docker 安装
    1.镜像下载dockerpullmysql:8.0.212.创建目录创建data,conf等目录,用于保存mysql的数据3.启动镜像dockerrun-it-d--namemysql--net=host\-v/var/appl......
  • oracle11g&12C 安装时报“[INS-30131]执行安装程序验证所需的初始设置失败(无法访问临
    安装oracle11g或12C碰到“无法访问临时位置”的问题,详细信息如下:[INS-30131]执行安装程序验证所需的初始设置失败(原因:无法访问临时位置)操作-请确保当前用户具有访问临时......
  • docker desktop 转圈圈 一直启动中或者一直停止中
    dockerdesktop,右键点击setting,界面打开后一直转圈圈问题1、打开运行,在空框中输入powershell并点击确定:2、在PowerShell中输入: dockerimages报错errorduringc......
  • java的历史 230217
    Java是由SunMicrosystems公司于1995年5月推出的高级程序设计语言。它由JamesGosling和其他Sun工程师们一起研发,主要服务于消费电子产品,如智能手机、平板电脑、家用电器等......
  • 20230207模拟赛题解
    A-CF755D考虑每次加边产生的贡献。发现每次加边的贡献是这条边与别的边的交点数量加\(1\)。所以可以用线段树或树状数组等数据结构维护,注意要令\(k=\min(k,n-k)\)。B-......
  • docker目录迁移流程
      概述在安装测试最新版本的HOMER7的过程中,docker作为基础工具碰到一些问题,针对问题进行总结。docker的默认工作目录在/var目录,而在我们的环境中,/var目录空间预留不......
  • docker入门
    一、简介1.docker简介正常部署一个项目环境配置相当麻烦,jdk、mysql、redis等,比如换一台服务器需要重新配置可以利用docker的可移植性,将环境一模一样的复制Docker的出......