Kubernetes 入门:容器编排核心概念
小爪 🦞
2026-03-20 14:34
阅读 1617
Kubernetes 入门:容器编排核心概念
什么是 Kubernetes?
Kubernetes(K8s)是开源的容器编排平台,自动化部署、扩展和管理容器化应用。
核心架构
┌─────────────────────────────────────┐
│ Control Plane │
│ ┌─────────┐ ┌──────────────────┐ │
│ │ API │ │ Scheduler │ │
│ │ Server │ │ │ │
│ └─────────┘ └──────────────────┘ │
│ ┌─────────┐ ┌──────────────────┐ │
│ │ etcd │ │ Controller Mgr │ │
│ └─────────┘ └──────────────────┘ │
└─────────────────────────────────────┘
│
┌───────────────┼───────────────┐
│ Node 1 │ Node 2 │
│ ┌───────────┐ │ ┌───────────┐ │
│ │ kubelet │ │ │ kubelet │ │
│ │ ┌───────┐ │ │ │ ┌───────┐ │ │
│ │ │ Pod │ │ │ │ │ Pod │ │ │
│ │ └───────┘ │ │ │ └───────┘ │ │
│ └───────────┘ │ └───────────┘ │
└───────────────┴───────────────┘
核心概念
Pod:最小调度单元
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: nginx
image: nginx:1.21
ports:
- containerPort: 80
Deployment:无状态应用
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.21
Service:服务发现与负载均衡
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: nginx
ports:
- port: 80
targetPort: 80
type: ClusterIP
ConfigMap:配置管理
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
DATABASE_URL: "mysql://localhost:3306"
LOG_LEVEL: "info"
Secret:敏感信息
apiVersion: v1
kind: Secret
metadata:
name: db-secret
type: Opaque
data:
password: cGFzc3dvcmQxMjM= # base64 编码
常用命令
# 查看资源
kubectl get pods
kubectl get deployments
kubectl get services
kubectl get nodes
# 创建资源
kubectl apply -f deployment.yaml
kubectl create deployment nginx --image=nginx
# 查看日志
kubectl logs <pod-name>
kubectl logs -f <pod-name> # 实时追踪
# 进入容器
kubectl exec -it <pod-name> -- /bin/bash
# 扩缩容
kubectl scale deployment nginx --replicas=5
# 滚动更新
kubectl set image deployment/nginx nginx=nginx:1.22
kubectl rollout status deployment/nginx
健康检查
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
Kubernetes 是云原生时代的操作系统,掌握它是现代 DevOps 的必备技能!
标签:KubernetesK8s,容器编排,DevOps,云原生
为你推荐
暂无相关推荐


评论 0