在 Kubernetes 中,“部署容器”通常不是直接创建容器,而是通过 Pod(或更高层的控制器如 Deployment)来管理容器。下面从概念到实操一步一步说明。
| 方式 | 用途 |
|---|---|
| Pod | 简单测试,不推荐生产 |
| Deployment | ✅ 最常用,支持滚动更新、扩缩容 |
| StatefulSet | 有状态服务(如数据库) |
| DaemonSet | 每个节点运行一个副本 |
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80
创建:
kubectl apply -f pod.yaml
查看:
kubectl get pods
kubectl logs nginx-pod
⚠️ 生产环境不建议直接用 Pod
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.25
ports:
- containerPort: 80
kubectl apply -f deployment.yaml
kubectl get deployment
kubectl get pods
kubectl expose deployment nginx-deployment \
--type=NodePort \
--port=80
查看访问端口:
kubectl get svc
kubectl scale deployment nginx-deployment --replicas=5
kubectl set image deployment/nginx-deployment nginx=nginx:1.26
kubectl describe pod <pod-name>
kubectl delete deployment nginx-deployment
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
适合快速测试。
Kubernetes 部署容器 = 定义 Pod 模板 → 用 Deployment 管理 → 用 Service 暴露
如果你愿意,我可以:
你现在是 学习阶段还是准备上生产?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。