简介
Kubernetes 是一个容器编排平台,能够自动化容器化应用的部署、扩展和管理。本挑战将探讨 Kubernetes 的架构,包括构成 Kubernetes 集群的组件及其相互之间的交互。
Kubernetes 是一个容器编排平台,能够自动化容器化应用的部署、扩展和管理。本挑战将探讨 Kubernetes 的架构,包括构成 Kubernetes 集群的组件及其相互之间的交互。
Kubernetes 控制平面负责管理集群的整体状态以及应用的部署和扩展。控制平面组件包括:
你的任务是检索并显示控制平面组件的状态,包括 kube-apiserver、etcd、kube-scheduler 和 kube-controller-manager。
kubectl
命令检索控制平面组件的状态。/home/labex/project
目录下执行命令。以下是检索控制平面组件状态时的预期输出示例:
NAME STATUS MESSAGE ERROR
controller-manager Healthy ok
etcd-0 Healthy {"health":"true","reason":""}
scheduler Healthy ok
Kubernetes 节点组件负责运行容器并为应用提供运行时环境。节点组件包括:
显示 Kubernetes 集群中运行的节点信息,包括节点名称、状态和其他相关详细信息。
kubectl
命令列出 Kubernetes 集群中的节点。/home/labex/project
目录下执行命令。以下是显示节点时的预期输出示例:
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 2m52s v1.26.1
Kubernetes Pod 是 Kubernetes 中最小的可部署单元,代表集群中运行的单个进程实例。每个 Pod 由一个或多个容器组成,这些容器共享相同的网络命名空间和存储卷。
simple-pod.yaml
的文件,其中包含一个 Nginx 容器的 Pod 配置。kubectl
命令部署该 Pod。/home/labex/project
目录下创建一个名为 simple-pod.yaml
的文件,其中包含一个使用 Nginx 镜像的 Pod 配置,Pod 名称为 simple-pod
。kubectl
命令从 YAML 文件创建 Pod。kubectl
命令列出 Kubernetes 集群中运行的 Pod。以下是显示 Pod 时的预期输出示例:
pod/simple-pod created
NAME READY STATUS RESTARTS AGE
simple-pod 1/1 Running 0 29s
Kubernetes Service 是一种抽象,定义了一组逻辑 Pod 及其访问策略。Service 组件包括:
nginx-service.yaml
的文件,其中包含 Nginx Pod 的 Service 配置。kubectl
命令部署该 Service。/home/labex/project
目录下创建一个名为 nginx-service.yaml
的文件,其中包含一个名为 nginx-service
的 Service 配置,该 Service 暴露端口 80。kubectl
命令从 YAML 文件创建 Service。kubectl
命令列出 Kubernetes 集群中运行的 Service。以下是显示 Service 时的预期输出示例:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5m42s
nginx-service ClusterIP 10.96.184.71 <none> 80/TCP 4s
在本挑战中,我们探索了 Kubernetes 的架构,包括控制平面、节点、Pod 和 Service 组件。我们学习了如何检查各组件的状态、创建一个简单的 Pod 和 Service,并将 Pod 暴露给外部应用。理解构成 Kubernetes 集群的组件及其交互,为部署和管理容器化应用奠定了坚实的基础。