逐步轻松搞定K8S在Docker Desktop上的安装

一、前提条件

  • 本文基于Win 10操作系统,
  • Git已在本机安装,
  • 在Docker Desktop for Window安装启动后执行的。

如还没安装,可以从Docker 官方网站下载Docker for windows,安装比较简单,这里不赘述了~。

二、docker配置国内镜像

为了提升镜像拉取速度,在Docker 设置里,配置Docker Engine国内的仓库地址: 

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "debug": false,
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "insecure-registries": [],
  "registry-mirrors": [
    "https://xxxxx.mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]
}
View Code

二、Kubernetes镜像拉取

 从GitHub上拉取Images到本机文件夹中:

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

三、Kubernetes镜像安装

进入下载目录,执行load_images.ps1脚本:

cd k8s-for-docker-desktop
.\load_images.ps1

四、启动Kubernetes

 在Docker面板上的Settings里,切到Kubernetes上启动Kubernetes

五、安装k8s管理页面Dashboard

 进入下载目录下,执行

kubectl create -f kubernetes-dashboard.yaml

查看Dashboard镜像状态

kubectl get pods --all-namespaces

六、访问k8s Dashboard

使用命令,启动K8s Server,

kubectl proxy
##或者
nohup kubectl proxy >/dev/null &

访问地址
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

七、选择Token认证方式登录

生成Token:

##授权`kube-system`默认服务账号
kubectl apply -f kube-system-default.yaml
##生成Token
$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-desktop --token="${TOKEN}"
echo $TOKEN

 

复制Token粘贴到浏览器输入框中,点击登录即可跳转到Dashboard页面:

八、配置服务账号访问权限

 创建服务账号

##命令
New-Item admin-user.yaml
##内容如下
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: admin-user
      namespace: kubernetes-dashboard
##创建
kubectl create -f admin-user.yaml        
View Code

绑定账号角色

##命令
New-Item 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 -f admin-user-role-binding.yaml
View Code

获取账号Token

$ kubectl -n kubernetes-dashboard   describe secret $(kubectl -n kubernetes-dashboard  get secret | grep admin-user | awk '{print $1}')

 

收工!

 

posted on 2022-05-20 11:50  欣静赏悦  阅读(670)  评论(0编辑  收藏  举报