Docker_Desktop开启k8s

Docker_Desktop开启k8s

原文地址:在 Docker Desktop 中启用 K8s 服务 - 墨墨墨墨小宇 - 博客园

开启k8s服务

打开docker的设置界面,选择Docker Engine,修改如下:

{
  "debug": false,
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "insecure-registries": [],
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]
}

镜像配置完后,去github下载https://github.com/AliyunContainerService/k8s-for-docker-desktop,找到里面的load_images文件,还有kubernetes-dashboard.yaml文件,首先执行load_images脚本文件,

然后去Docker_desktop中选择Kubeadm和show system containers,然后选择Apply&restart。

启动Dashboard

-- 创建 dashboard 资源
kubectl apply -f kubernetes-dashboard.yaml

-- 查看 Deployment 的运行状态 
kubectl get deployment -n kuberenetes-dashboard

-- 查看 Pod 的运行状态
kubectl get pods -n kuberenetes-dashboard

-- 通过代理的方式访问 dashboard
kubectl proxy

这里是使用 API Server 的形式访问的 dashboard ,具体的地址为:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

我们可以使用下面的 powershell 命令打印出 token,然后登录到 dashboard 中查看整个集群的信息

Copy$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
echo $TOKEN

如果执行失败,显示没有默认的secret:那么

# 列出所有 secret 查找正确的名称
kubectl -n kube-system get secrets

# 使用找到的名称替换 'default'
$TOKEN = kubectl -n kube-system describe secret <your-secret-name> | Select-String "token:" | ForEach-Object { ($_ -split '\s+')[1] }
# 验证 token
Write-Host "Token: $TOKEN"

如果还有问题!

# 使用一行命令获取 token
$TOKEN = kubectl -n kube-system create token default --duration=8760h
# 验证 token
Write-Host "Token: $TOKEN"
### 如何在 Docker Desktop 中配置 Kubernetes Dashboard 要在 Docker Desktop 上成功配置并使用 Kubernetes Dashboard,可以按照以下方法操作: #### 启用 Kubernetes 功能 首先,确保已经在 Docker Desktop 设置中启用了 Kubernetes 功能。可以通过进入 **Settings (Preferences)** -> **Kubernetes** 页面来启用该选项[^1]。 #### 安装 Kubernetes Dashboard Docker Desktop 自带的 Kubernetes 环境通常已经包含了 `kubectl` 和其他必要的工具支持。为了部署 Kubernetes Dashboard,可以在终端执行以下命令: ```bash kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml ``` 此命令会应用官方推荐的 YAML 文件以创建 Kubernetes Dashboard 所需的服务和其他资源[^2]。 #### 创建管理员角色绑定 为了让用户能够登录到 Kubernetes Dashboard 并拥有足够的权限,需要创建一个具有集群管理员权限的角色绑定。以下是实现这一目标的具体方式: ```yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: default namespace: kubernetes-dashboard ``` 保存以上内容至文件(如 `admin-role-binding.yaml`),并通过如下命令将其应用于当前集群: ```bash kubectl apply -f admin-role-binding.yaml ``` #### 获取访问令牌 要获取用于登录 Kubernetes Dashboard 的 Token,可运行以下脚本提取默认服务账户的秘密密钥: ```bash kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/default -o jsonpath="{.secrets[0].name}") -o go-template="{{ .data.token | base64decode }}" ``` 这一步骤返回了一个 Base64 编码后的 Token 字符串,它将在后续浏览器界面验证身份时被使用[^3]。 #### 配置 Ingress 控制器 如果希望 Kubernetes Dashboard 能够通过外部网络地址访问,则可能还需要设置一个 NGINX Ingress Controller 来代理请求流量。具体做法涉及定义一个新的 Ingress Resource 对象以及关联 TLS 加密证书等额外步骤[^2]。 完成上述所有准备工作之后,应该可以从本地机器上的 Web 浏览器里直接打开 Kubernetes Dashboard 页面,并利用之前生成好的 Bearer Token 实现认证接入。 ```python import webbrowser url = 'https://localhost:8443/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/' webbrowser.open(url, new=2) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HalukiSan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值