发布于 2022-08-03 19:13:25
简而言之,是(1)和(2)相同的应用程序可以为基础设施供应商访问所有不同的Kubernetes集群。
对于Kubernetes集群(不管它在哪里运行-- AKS/GCP/AWS),您可以使用相同的k8s client库来访问API --在不同的提供程序之间唯一会发生变化的是应用程序将使用的与服务器进行身份验证的credentials。所以,相同的代码,只是不同的凭据。这是因为它是您与之交互的同一个API -- k8s API服务器。
可以这样想,从您的应用程序的角度来看,在AWS/GCP或Azure上托管的k8s没有什么区别。应用程序只与连接到属于k8s集群api-server的API端点有关。只要您在云提供商中正确配置了连接性(正确的凭据、安全组设置、路由等),相同的代码和应用程序就可以很容易地与所有集群对话!
但是,如果您选择使用云供应商提供的一些特性,那么您将不得不使用每个供应商提供的不同的SDK,因为AWS、GCP和Azure的API自然是不同的,而且每个API都需要不同的代码进行集成。也就是说,如果您想查询EKS或GKE或AKS的健康状态,而不是查询Kubernetes api-server本身,那么您的代码就会改变,但是如果您使用api-server本身,那么只有凭据会改变。
https://stackoverflow.com/questions/73225746
复制相似问题