Kubernetes Operations 技能用于在 Kubernetes 集群上部署和管理容器化应用。
【用途】 该技能适用于以下场景:将应用部署到 Kubernetes;管理 Pod、Deployment 与 Service;配置资源限制与扩缩容;排查 Kubernetes 工作负载故障;设置网络与 Ingress。
【前置条件】 已安装并配置 kubectl;可访问 Kubernetes 集群;具备容器基础知识。
【核心资源】 提供 Deployment、Service、Ingress 的 YAML 示例。Deployment 示例包含副本数、标签选择器、容器镜像、容器端口、资源 requests/limits、livenessProbe 与 readinessProbe、以及通过 secretKeyRef 注入环境变量。Service 示例包含 ClusterIP 与 LoadBalancer 两种类型。Ingress 示例包含 ingressClassName、TLS 配置及基于主机与路径的路由规则。
【配置管理】 ConfigMap 示例展示通过 envFrom 和 volumeMounts 两种使用方式;Secret 示例使用 Opaque 类型与 stringData,并给出通过 kubectl create secret 从字面量和文件创建 Secret 的命令。
【kubectl 命令】 资源管理:kubectl apply/get/describe/delete/edit。 调试:查看日志(含 -f 跟随、--tail、指定容器)、kubectl exec 进入容器、port-forward 端口转发、查看事件、kubectl debug 调试 Pod。 扩缩容:kubectl scale 手动扩缩容,kubectl autoscale 自动扩缩容,以及 HorizontalPodAutoscaler(基于 CPU 与内存利用率)。
【持久化存储】 PersistentVolumeClaim 示例包含访问模式、storageClassName 与存储请求;StatefulSet 示例以 postgres 为例,包含 serviceName、副本数、volumeClaimTemplates。
【Job 与 CronJob】 Job 示例用于数据库迁移,包含 restartPolicy 与 backoffLimit;CronJob 示例用于备份,包含 schedule 与 jobTemplate。
【网络策略与资源配额】 NetworkPolicy 示例同时定义 Ingress 与 Egress 规则,按 podSelector 与端口限制流量。ResourceQuota 示例限制 CPU、内存请求与上限以及 Pod 数量。
【滚动更新】 展示 RollingUpdate 策略的 maxSurge 与 maxUnavailable 配置,以及 kubectl set image、rollout status、rollout history、rollout undo(含 --to-revision)等命令。
【常见问题】 Pod 卡在 Pending:检查资源可用性、节点选择器、PVC 绑定,用 describe 和 get events 排查。 CrashLoopBackOff:检查日志、入口点、探针,使用 --previous 查看上次日志。 Service 不可访问:检查选择器标签、确认 endpoints 是否存在。 镜像拉取失败(ImagePullBackOff):检查镜像名称、仓库凭据,并给出创建 docker-registry Secret 的命令。
【最佳实践】 始终设置资源 requests 与 limits;实现 liveness 与 readiness 探针;使用命名空间隔离;应用网络策略保障安全;使用 ConfigMap 与 Secret 管理配置;实现 Pod 中断预算保障可用性;一致使用标签便于组织;启用 RBAC 进行访问控制。
【相关技能】 helm-charts(包管理)、argocd-gitops(GitOps 部署)、kubernetes-hardening(安全)。
【限制】 资料未提供该技能的收费、价格、支持的平台版本或具体效果数据,暂未提供。