我看到两个命令可以在GCP上操作K8S集群。一个是gcloud container clusters
,另一个则是kubectl
。
有人能告诉我他们之间有什么区别吗?
主要区别在于gcloud container clusters
命令主要用于管理集群本身的资源分配。例如,它告诉Google云平台如何创建、修改和销毁支持它的集群。(这里同样重要的是gcloud container node-pools
、gcloud container operations
和gcloud container subnets
命令(。
它还有一个关键命令:gcloud container clusters get-credentials
,它为您提供运行第二个命令kubectl
所需的凭据。
另一方面,kubectl
是Kubernetes的控制命令。它被所有Kubernetes集群使用,无论它们是在GCP、其他云提供商上,还是在您自己的本地硬件上手动设置。它主要用于操作集群本身的工作负载(例如Pods、Deployments、StatefulSets、CronJobs等(以及其他配置数据(例如ConfigMaps、Secrets(。它还允许Kubernetes本机管理集群本身(例如,向用户授予基于集群的角色、创建命名空间等(。
从本质上讲,gcloud
使您能够提供和取消提供资源,而kubectl
使您能够在提供资源后使用集群。
更多信息:
gcloud container clusters
参考和GKE文档kubectl
参考和概述