LOADING

加载过慢请开启缓存 浏览器默认开启

10-1.多容器部署

部署多容器应用

1. 目标

在 Kubernetes 中部署一个包含多个容器的应用,例如一个前端应用和一个后端数据库。使用 Deployment 和 Service 资源来管理 Pod 和网络通信。

2. 操作步骤

2.1 创建 Deployment

创建两个 Deployment,分别用于前端应用和后端数据库。

# frontend-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: frontend
spec:
  replicas: 2
  selector:
    matchLabels:
      app: frontend
  template:
    metadata:
      labels:
        app: frontend
    spec:
      containers:
      - name: frontend
        image: nginx:latest
        ports:
        - containerPort: 80
# backend-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: backend
spec:
  replicas: 2
  selector:
    matchLabels:
      app: backend
  template:
    metadata:
      labels:
        app: backend
    spec:
      containers:
      - name: backend
        image: mysql:5.7
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "password"
        ports:
        - containerPort: 3306

2.2 创建 Service

创建两个 Service,分别用于前端应用和后端数据库。

# frontend-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: frontend-service
spec:
  selector:
    app: frontend
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  type: LoadBalancer
# backend-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: backend-service
spec:
  selector:
    app: backend
  ports:
  - protocol: TCP
    port: 3306
    targetPort: 3306

2.3 部署应用

使用 kubectl 部署应用。

kubectl apply -f frontend-deployment.yaml
kubectl apply -f backend-deployment.yaml
kubectl apply -f frontend-service.yaml
kubectl apply -f backend-service.yaml

2.4 验证部署

验证 Pod 和 Service 是否成功创建。

kubectl get pods
kubectl get services

3. 参考文档