K8S 学习
2025-11-07
K8S学习
K8S 学习
基础概念
Pod
Pod 是 K8S 中最小的部署单元,一个 Pod 中可以运行多个容器。 Pod 的生命周期如下:
- 当创建一个 Pod 时,K8S 会为其分配一个唯一的 ID,并且将其状态设置为
Pending。 - 当 Pod 中的所有容器都启动成功后,K8S 会将其状态设置为
Running。 - 当 Pod 中的所有容器都正常运行时,K8S 会将其状态设置为
Ready。 - 当 Pod 中的所有容器都退出时,K8S 会将其状态设置为
Failed或Succeeded,具体取决于容器的退出码。 - 当 Pod 被删除时,K8S 会将其状态设置为
Terminating,并等待所有容器退出。
Deployment
Deployment 的主要作用是保证 Pod 的副本数量,因此,Deployment 的创建、更新、删除操作都会触发 Pod 的创建、更新、删除操作。
报错:The Deployment "kubernetes-dashboard" is invalid: spec.selector: Invalid value: {"matchLabels":{"app":"kubernetes-dashboard"}}: field is immutable 因为deployment的selector字段是只读的,不能修改,所以删除deployment后再创建一个新的deployment就可以了 命令:
kubectl delete deployment deploymentName -n 命名空间
Service
Service 是 K8S 中用于实现服务发现和负载均衡的机制。Service 定义了一个逻辑的服务,它可以将流量路由到一个或多个 Pod 上。
kubectl
获取指定命名空间的所有service kubectl get services -n kubernetes-dashboard
编辑指定命名空间下的service配置 kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard