在kubectl和kubernetes配置的世界中,上下文和集群之间有什么区别?例如,我看到以下命令:
Available Commands:
current-context Displays the current-context
delete-cluster Delete the specified cluster from the kubeconfig
delete-context Delete the specified context from the kubeconfig
get-clusters Display clusters defined in the kubeconfig
get-contexts Describe one or many contexts
rename-context Renames a context from the kubeconfig file.
set Sets an individual value in a kubeconfig file
set-cluster Sets a cluster entry in kubeconfig
set-context Sets a context entry in kubeconfig
Run Code Online (Sandbox Code Playgroud)
在.kube / config中,我看到:
- context:
cluster: arn:aws:eks:us-west-2:91XXXXXXX71:cluster/ignitecluster
namespace: ignite
user: arn:aws:eks:us-west-2:91XXXXXXX71:cluster/ignitecluster
name: arn:aws:eks:us-west-2: 91XXXXXXX71:cluster/ignitecluster
Run Code Online (Sandbox Code Playgroud)
Rew*_*ool 16
集群是配置所有 Kubernetes 组件、功能和工作负载的地方。
Kubernetes 中的集群由其各自的证书颁发机构 (CA) 证书标识。例如,假设您有三个集群。
rewanth@ubuntu:~$ cat ~/.kube/config
...
clusters:
- cluster:
certificate-authority: /home/rewanth/.minikube/development-ca.crt
server: https://192.168.177.136:8443
name: development
...
Run Code Online (Sandbox Code Playgroud)
Kubernetes 中的用户由其各自的客户端/用户证书标识。例如,假设您有三个用户。
rewanth@ubuntu:~$ cat ~/.kube/config
...
users:
- name: admin
user:
client-certificate: /home/rewanth/.minikube/admin.crt
client-key: /home/rewanth/.minikube/admin.key
...
Run Code Online (Sandbox Code Playgroud)
因此,用户必须同时提供cluster证书和user证书才能在目标资源上验证和运行工作负载。
我们需要提供三个证书才能在任何集群上运行工作负载。
Context通过结合用户和集群配置/证书使这项工作更容易。
rewanth@ubuntu:~$ cat ~/.kube/config
...
contexts:
- context:
cluster: staging
user: user1
name: Context1
- context:
cluster: development
user: admin
name: Context2
- context:
cluster: development
namespace: private
user: user1
name: Context4
...
Run Code Online (Sandbox Code Playgroud)
所以,简单的引用Context2意味着我们要以用户身份登录Development集群admin。
Context4意味着我们要以用户身份登录集群中的private命名空间。developmentuser1
Context1意味着我们要以用户身份登录staging集群user1。
上下文不会创建新用户/集群。上下文只是设置一个新的映射,使多个集群之间的切换更容易。
集群:Kubernetes 使用共享网络将单个物理或虚拟机聚集到一个集群中,以便在每个服务器之间进行通信。该集群是配置所有 Kubernetes 组件、功能和工作负载的物理平台。
上下文:上下文只是一组包含 Kubernetes 集群、用户和命名空间的访问参数。
当前上下文是 kubectl 当前默认的集群,所有 kubectl 命令都针对该集群运行。
| 归档时间: |
|
| 查看次数: |
671 次 |
| 最近记录: |