Skip to content

1. Kubernetes 入门 ​

基础概念 ​

1. Node ​

一个节点(Node)就是一个物理机或者虚拟机,在一个节点上我们可以运行一个或多个 Pod。

2. Pod ​

Pod 是 Kubernetes 调度的最小单位。一个 Pod 是一个或多个应用容器的组合,这意味着一个 Pod 能运行多个容器。

最佳实践是,一个 Pod 只运行一个容器,这样可以实现应用程序的解耦和扩展。

3. Service ​

Service 可以将 Pod 组合成一个服务,这个服务可以通过 Service 的 IP 和端口访问到。

4. Ingress ​

Ingress 是对外暴露服务的一种方式,它可以将外部的请求转发到集群内部的 Service 上。

5. ConfigMap ​

ConfigMap 可以将配置信息以键值对的形式保存起来,然后在 Pod 中使用。

6. Secret ​

Secret 可以将敏感信息以键值对的形式保存起来,然后在 Pod 中使用。

7. Volume ​

Volume 可以将 Pod 中的数据持久化到磁盘上。

8. Deployment ​

Deployment 可以将 Pod 进行编排,它可以实现 Pod 的滚动升级和回滚。

9. StatefulSet ​

StatefulSet 可以将 Pod 进行编排,它可以实现部署有状态的 Pod。

Kubernetes 架构 ​

Kubernetes 有一个 Master 节点和多个 Node 节点组成。

为了使 Node 能够正常对外提供服务,Node 通常还需要三个组件:kubelet、kube-proxy 和容器运行时(container runtime)。

常见的容器运行时如下:

  • Docker Engine
  • containerd
  • CRI-O
  • Mirantis Container Runtime

kubelet 是 Kubernetes 的一个核心组件,它运行在每个 Node 上,负责管理 Pod 和容器。它也会定期汇报 Node 的状态,并从 apiserver 中获取 Pod 的调度更新信息。

k-proxy 是 Kubernetes 的一个核心组件,负责提供负载均衡和代理服务。

1. Master 节点 ​