我似乎无法弄清楚如何在计算机上运行的Docker Desktop实例上创建全新的Kubernetes集群。 (这是Mac还是PC都没关系。
我知道如何设置当前群集上下文,但是我只有一个群集,因此无法设置其他任何内容。
### What's my current context pointing to?
$ kubectl config current-context
docker-for-desktop
### Set the context to be "docker-for-desktop" cluster
$ kubectl config use-context docker-for-desktop
Switched to context “docker-for-desktop”
其他问题:
答案 0 :(得分:2)
Kubernetes配置文件描述了3个对象:集群,用户和上下文。
集群-集群名称+详细信息-主机和证书。
用户-用户名和凭据,以授权您使用任何群集主机。
上下文角色是在用户和集群之间建立联系,因此,当您使用该上下文时,{{1} }将使用上下文对象中指定的用户的凭据授权您针对上下文对象中指定的群集。示例kubectl
对象:
context
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
子命令在配置文件中具有一组指向generate cluster, user & context entries的命令。
来自docker-desktop的多个k8s集群
在后台,启用k8时,docker桌面将kubernetes组件下载为docker映像,并且服务器监听kubectl config
。这一切都是自动完成的,因此除非您有意自己运行整个结构,否则我不认为您可以将其配置为运行多个集群。
关于您的其他问题:
设置上下文时,https://localhost:6443
会将kubectl
设置为该上下文,并且您运行的每个current-context
都会使用上下文的用户凭据进入上下文的群集。这并不意味着集群已经死了。完全不会影响他们。
答案 1 :(得分:0)
使用Docker Desktop,您可以使用诸如k3d之类的开发工具来创建多个集群。在Docker Desktop首选项下禁用Kubernetes,因为您不需要它。然后安装XCode CLT,Homebrew并使用Brew在本地安装k3d。接下来发出命令:
k3d cluster create one && \
k3d cluster create two
这将创建两个集群,自动切换上下文。运行k3d cluster list
列出可用的群集,并使用k3d --help
获得在线帮助。免费提供适用于macOS的更深入的教程is available。
答案 2 :(得分:-1)