如何在 Docker Desktop 上创建新的 Kubernetes 集群?

Pur*_*ome 5 docker kubernetes docker-desktop

我似乎不知道如何在我的计算机上运行的 Docker Desktop 实例上创建全新的 Kubernetes 集群。(无论是 Mac 还是 PC,都没有关系)。

\n\n

我知道如何设置当前集群上下文,但我只有一个集群,因此无法设置其他任何内容。

\n\n
### What\'s my current context pointing to?\n$ kubectl config current-context\ndocker-for-desktop\n\n### Set the context to be "docker-for-desktop" cluster\n$ kubectl config use-context docker-for-desktop\nSwitched to context \xe2\x80\x9cdocker-for-desktop\xe2\x80\x9d\n
Run Code Online (Sandbox Code Playgroud)\n\n

进一步的问题:

\n\n
    \n
  1. 如果我有多个集群,那么只有其中一个(当前设置的集群)会同时运行,而另一个集群则停止/睡眠?
  2. \n
  3. 集群彼此独立,因此如果我可以随意使用一个集群,那么这应该不会影响另一个集群
  4. \n
\n

Efr*_*tan 3

Kubernetes 配置文件描述了 3 个对象:clusteruserscontexts

cluster - 集群名称 + 详细信息 - 主机和证书。

user - 用户名和凭据,用于授权您针对任何集群主机。

上下文角色是在用户集群之间建立连接,因此当您使用该上下文时,将使用上下文对象中指定用户的凭据对上下文对象中指定的集群进行授权。一个示例对象:kubectlcontext

apiVersion: v1
current-context: ""
kind: Config
preferences: {}

clusters:
- cluster:
    certificate-authority: xxxxxxxxx
    server: xxxxxxxxx
  name: gke_dev-yufuyjfvk_us-central1-a_standard-cluster-1

users:
- name: efrat-dev
  user:
    client-certificate: xxxxxxxxx
    client-key: xxxxxxxxx

contexts:
- context:
    cluster: gke_dev-yufuyjfvk_us-central1-a_standard-cluster-1
    user: efrat-dev
  name: gke-dev
Run Code Online (Sandbox Code Playgroud)

kubectl config子命令有一组命令用于在配置文件中生成集群、用户和上下文条目。

来自 docker-desktop 的多个 k8s 集群

在幕后,当您启用 k8s 时,docker 桌面会将 kubernetes 组件下载为 docker 镜像,并且服务器会监听https://localhost:6443. 这一切都是自动完成的,因此除非您打算自己运行整个结构,否则我不认为您可以将其配置为运行多个集群。

关于您的进一步问题:

当您设置上下文时,kubectl将设置current-context为该上下文,并且kubectl您运行的每个操作都将使用上下文的用户凭据转到上下文的集群。这并不意味着集群已经死亡。它根本不会影响他们。