Kubernetes 初学者术语
术语概述
在我的上一篇博文中,我向您展示了如何构建 Azure Kubernetes 服务集群。这次,我们将讲解一些 Kubernetes 特有的术语,以便我们在不断发展的过程中能够准确理解这些术语的含义。
术语概述
让我们先来了解一些术语。以下是Azure Kubernetes 服务 (AKS) 文档中 Kubernetes 核心概念的一些关键内容。
豆荚
Kubernetes 使用 Pod 来运行应用程序实例。一个 Pod 代表应用程序的单个实例。Pod 通常与容器 1:1 对应,但在某些高级场景中,一个 Pod 可能包含多个容器。这些多容器 Pod 会一起调度到同一个节点上,并允许容器共享相关资源。
部署和 YAML 清单
部署代表一个或多个相同的 Pod,由 Kubernetes 部署控制器管理。部署定义了要创建的副本(Pod)的数量,Kubernetes 调度程序则确保如果 Pod 或节点出现问题,其他 Pod 会被调度到健康的节点上。
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-app
spec:
selector:
matchLabels:
app: demo-app
replicas: 1
template:
metadata:
labels:
app: demo-app
spec:
containers:
- name: demo-app
image: ACRHERE.azurecr.io/demo-app:v1
imagePullPolicy: Always
readinessProbe:
httpGet:
port: 8000
path: /
livenessProbe:
httpGet:
port: 8000
path: /
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: "500m"
StatefulSet 和 DaemonSet
部署控制器使用 Kubernetes 调度程序在任何具有可用资源的可用节点上运行给定数量的副本。这种部署方式对于无状态应用程序来说可能足够,但对于需要持久命名约定或存储的应用程序则不然。对于需要在集群中的每个节点或选定节点上都存在副本的应用程序,部署控制器不会考虑副本在节点之间的分布情况。
有两种 Kubernetes 资源可让您管理这些类型的应用程序:
- StatefulSets - 维护单个 pod 生命周期之外的应用程序状态,例如存储。
- DaemonSets - 在 Kubernetes 引导过程的早期确保每个节点上都有一个正在运行的实例。
舵
在 Kubernetes 中管理应用程序的常用方法是使用 Helm。你可以构建并使用现有的公共 Helm 图表,其中包含应用程序代码的打包版本和 Kubernetes YAML 清单来部署资源。这些 Helm 图表可以存储在本地,或者通常存储在远程存储库中,例如 Azure 容器注册表 Helm 图表存储库。
要使用 Helm,需要在 Kubernetes 集群中安装一个名为 Tiller 的服务器组件。Tiller 负责管理集群中图表的安装。Helm 客户端本身安装在本地计算机上,也可以在 Azure Cloud Shell 中使用。您可以使用客户端搜索或创建 Helm 图表,然后将其安装到 Kubernetes 集群中。
有关详细信息,请参阅在 Azure Kubernetes 服务 (AKS) 中使用 Helm 安装应用程序。
视频
以下是微软杰出工程师 Brendan Burns 关于 Kubernetes 术语的视频:
下一个?
这些只是 Azure Kubernetes 服务文档中的一小部分内容。深入了解文档,立即开始构建。
如果您想试用 Azure Kubernetes 服务,请查看免费的 200 美元信用额度和 12 个月的免费 Azure 服务。
文章来源:https://dev.to/azure/kubernetes-terminology-for-beginners-2pdb