Kubernetes使用模式
客户正在运行多少个集群?每个节点运行多少pod ?在本节中,我们将回答这些问题以及更多内容。我们从集群维度到ReplicaSets维度调研了关于客户使用Kubernetes做了什么。由于Sysdig可以自动收集Kubernetes标签和元数据,我们能从性能指标、告警到安全事件中为我们发现的所有数据提供上下文。同理,我们可以通过简单的查询,从集群一直捕获到pod和容器的使用数据。
Kubernetes集群和节点
一些客户维护几个集群,他们的集群大小不一,而另一些客户则拥有许多不同规模的集群。下方的图表提供了Sysdig平台用户的集群数量和每个集群节点的分布。大多数客户只拥有单个集群,并且节点数量相对较少,这表明许多企业仍处于使用Kubernetes的早期阶段。我们还认识到,在公共云中使用托管Kubernetes服务是影响这 些数据点的另一个因素。这些服务提供商如:Amazon Elastic Kubernetes Service (EKS)、谷歌Kubernetes Engine (GKE)、Azure Kubernetes Service (AKS)和IBM Cloud Kubernetes Service (IKS),用户可以根据需求快速启动和删除集群。
Kubernetes命名空间、deployments和pods
每个集群上的命名空间
Kubernetes使用命名空间来帮助多个用户、团队或应用进行资源隔离。Kubernetes有三个初始命名空间:default、kube-system和kubepublic。命名空间的使用方式因人而异,但云原生团队通常为每个应用使用单独的命名空间。
每个命名空间下的Deployments
Deployments描述了pods和replicassets所需的状态,并有助于确保应用的一个或多个实例来正常应对用户请求。Deployments包含一组多个相同的pod,它没有唯一的身份定义,比如NGINX、Redis或Tomcat都可以是Deployments。每个命名空间下的Deployments构成了用户微服务应用。
我们看到今年出现了轻微的变化,每个命名空间的Deployments数量减少了。通过命名空间对环境进行访问是简单有效的,因此,在每个命名空间中Deployments数量越少,越可以为团队更好地分工,让他们只能访问自己负责的应用。
每个集群中 pod 的数量
pod 是 Kubernetes 中最小的可操作对象。它们包含一个或多个具有共享存储和网络的容器,以及如何运行这些容器的定义。
每个节点中 pod 的数量
每个 pod 的整个生命周期都在将节点上完成,有时会因为节点资源不足或节点故障被驱逐至其他节点。
上一篇:容器、镜像和服务的生命周期