为什么我们需要Kubernetes中的服务帐户?它和服务有什么不同?如果我不使用服务账户怎么办?有人能举个例子解释一下吗?
感谢您的宝贵时间。
来自Kubernetes文档:
服务帐户为运行在系统中的进程提供标识Pod .
当你(一个人)访问集群时(例如,使用kubectl),您将被apisserver作为一个特定的用户帐户进行身份验证(目前通常是admin,除非您的集群管理员已自定义您的集群)。在豆荚内的容器中的过程可以还要联系apisserver。当它们这样做时,它们被验证为特定的服务帐户(例如,默认)。
所以,服务帐户基本上是提供一个在pod中运行的应用程序,以便能够授权自己。
默认创建了一个default
服务帐户,pods可以使用该帐户访问API服务器。
Service
是一个完全不同的Kubernetes概念,它定义了Kubernetes的网络方面,以及不同的pod如何相互交互或应用程序如何暴露于外部世界。
你可以在官方文档中阅读更多关于Kubernetes服务的信息。
总之,Service Account
用于管理Kubernetes集群的安全方面,而Service
用于管理集群的网络方面。