← 返回
效率工具 中文

Kubernetes

Avoid common Kubernetes mistakes — resource limits, probe configuration, selector mismatches, and RBAC pitfalls.
避免常见的Kubernetes错误——资源限制、探针配置、选择器不匹配及RBAC陷阱。
ivangdavila ivangdavila 来源
效率工具 clawhub v1.0.0 1 版本 99095.8 Key: 无需
★ 4
Stars
📥 3,756
下载
💾 26
安装
1
版本
#latest

概述

Resource Management

  • requests = guaranteed minimum — scheduler uses this for placement
  • limits = maximum allowed — exceeding memory = OOMKilled, CPU = throttled
  • No limits = can consume entire node — always set production limits
  • requests without limits = burstable — can use more if available

Probes

  • readinessProbe controls traffic — fails = removed from Service endpoints
  • livenessProbe restarts container — fails = container killed and restarted
  • startupProbe for slow starts — disables liveness/readiness until success
  • Don't use same endpoint for liveness and readiness — liveness should be minimal health check

Probe Pitfalls

  • Liveness probe checking dependencies — if DB down, all pods restart indefinitely
  • initialDelaySeconds too short — pod killed before app starts
  • timeoutSeconds too short — slow response = restart loop
  • HTTP probe to HTTPS endpoint — needs scheme: HTTPS

Labels and Selectors

  • Service selector must match Pod labels exactly — typo = no endpoints
  • Deployment selector is immutable — can't change after creation
  • Use consistent labeling scheme — app, version, environment
  • matchExpressions for complex selection — In, NotIn, Exists

ConfigMaps and Secrets

  • ConfigMap changes don't restart pods — mount as volume for auto-update, or restart manually
  • Secrets are base64 encoded, not encrypted — use external secrets manager for sensitive data
  • envFrom imports all keys — env.valueFrom for specific keys
  • Volume mount makes files — subPath for single file without replacing directory

Networking

  • ClusterIP internal only — default, only accessible within cluster
  • NodePort exposes on node IP — 30000-32767 range, not for production
  • LoadBalancer provisions cloud LB — works only in supported environments
  • Ingress needs Ingress Controller — nginx-ingress, traefik, etc. installed separately

Persistent Storage

  • PVC binds to PV — must match capacity and access modes
  • storageClassName must match — or use "" for no dynamic provisioning
  • ReadWriteOnce = single node — ReadWriteMany needed for multi-pod
  • Pod deletion doesn't delete PVC — persistentVolumeReclaimPolicy controls PV fate

Common Mistakes

  • kubectl apply vs create — apply for declarative (can update), create for imperative (fails if exists)
  • Forgetting namespace — -n namespace or set context default
  • Image tag latest in production — no version pinning, unpredictable updates
  • Not setting imagePullPolicyAlways for latest tag, IfNotPresent for versioned
  • Service port vs targetPort — port is Service's, targetPort is container's

Debugging

  • kubectl describe pod for events — shows scheduling failures, probe failures
  • kubectl logs -f pod for logs — -p for previous container (after crash)
  • kubectl exec -it pod -- sh for shell — debug inside container
  • kubectl get events --sort-by=.lastTimestamp — cluster-wide events timeline

RBAC

  • ServiceAccount per workload — not default, for least privilege
  • Role is namespaced — ClusterRole is cluster-wide
  • RoleBinding binds Role to user/SA — ClusterRoleBinding for cluster-wide
  • Check permissions: kubectl auth can-i verb resource --as=system:serviceaccount:ns:sa

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-28 20:14

安全检测

腾讯云安全 (Keen)

队列中

腾讯云安全 (Sanbu)

队列中

🔗 相关推荐

productivity

Weather

steipete
获取当前天气和预报(无需API密钥)
★ 444 📥 226,102
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,349 📥 317,696
productivity

Baidu web search

ide-rea
使用百度AI搜索引擎(BDSE)进行网络搜索。适用于获取实时信息、文档资料或研究课题。
★ 236 📥 105,301