
- Kubernetes 教程
- Kubernetes - 主頁
- Kubernetes - 概述
- Kubernetes - 架構
- Kubernetes - 設定
- Kubernetes - 映象
- Kubernetes - 作業
- Kubernetes - 標籤與選擇器
- Kubernetes - 名稱空間
- Kubernetes - 節點
- Kubernetes - 服務
- Kubernetes - Pod
- Kubernetes - 複製控制器
- Kubernetes - 副本集
- Kubernetes - 部署
- Kubernetes - 卷
- Kubernetes - 密碼
- Kubernetes - 網路策略
- 進階 Kubernetes
- Kubernetes - API
- Kubernetes - Kubectl
- Kubernetes - Kubectl 命令
- Kubernetes - 建立應用
- Kubernetes - 應用部署
- Kubernetes - 自動縮放
- Kubernetes - 儀表盤設定
- Kubernetes - 監控
- Kubernetes 實用資源
- Kubernetes - 快速指南
- Kubernetes - 實用資源
- Kubernetes - 討論
Kubernetes - 應用部署
部署是將映象轉換為容器,然後將這些映象分配給 Kubernetes 叢集中 Pod 的一種方法。這也有助於建立應用程式叢集,其中包括部署服務、Pod、複製控制器和副本集。該叢集可以按特定的方式設定,以便部署在 Pod 上的應用程式能夠相互通訊。
在此設定中,我們可以在一個應用程式的頂部設定負載均衡器,將流量分流到一組 Pod,然後它們與後端 Pod 通訊。Pod 之間的通訊透過內置於 Kubernetes 中的服務物件實現。

Ngnix 負載均衡器 Yaml 檔案
apiVersion: v1 kind: Service metadata: name: oppv-dev-nginx labels: k8s-app: omni-ppv-api spec: type: NodePort ports: - port: 8080 nodePort: 31999 name: omninginx selector: k8s-app: appname component: nginx env: dev
Ngnix 複製控制器 Yaml
apiVersion: v1 kind: ReplicationController metadata: name: appname spec: replicas: replica_count template: metadata: name: appname labels: k8s-app: appname component: nginx env: env_name spec: nodeSelector: resource-group: oppv containers: - name: appname image: IMAGE_TEMPLATE imagePullPolicy: Always ports: - containerPort: 8080 resources: requests: memory: "request_mem" cpu: "request_cpu" limits: memory: "limit_mem" cpu: "limit_cpu" env: - name: BACKEND_HOST value: oppv-env_name-node:3000
前端服務 Yaml 檔案
apiVersion: v1 kind: Service metadata: name: appname labels: k8s-app: appname spec: type: NodePort ports: - name: http port: 3000 protocol: TCP targetPort: 3000 selector: k8s-app: appname component: nodejs env: dev
前端複製控制器 Yaml 檔案
apiVersion: v1 kind: ReplicationController metadata: name: Frontend spec: replicas: 3 template: metadata: name: frontend labels: k8s-app: Frontend component: nodejs env: Dev spec: nodeSelector: resource-group: oppv containers: - name: appname image: IMAGE_TEMPLATE imagePullPolicy: Always ports: - containerPort: 3000 resources: requests: memory: "request_mem" cpu: "limit_cpu" limits: memory: "limit_mem" cpu: "limit_cpu" env: - name: ENV valueFrom: configMapKeyRef: name: appname key: config-env
後端服務 Yaml 檔案
apiVersion: v1 kind: Service metadata: name: backend labels: k8s-app: backend spec: type: NodePort ports: - name: http port: 9010 protocol: TCP targetPort: 9000 selector: k8s-app: appname component: play env: dev
後端複製控制器 Yaml 檔案
apiVersion: v1 kind: ReplicationController metadata: name: backend spec: replicas: 3 template: metadata: name: backend labels: k8s-app: beckend component: play env: dev spec: nodeSelector: resource-group: oppv containers: - name: appname image: IMAGE_TEMPLATE imagePullPolicy: Always ports: - containerPort: 9000 command: [ "./docker-entrypoint.sh" ] resources: requests: memory: "request_mem" cpu: "request_cpu" limits: memory: "limit_mem" cpu: "limit_cpu" volumeMounts: - name: config-volume mountPath: /app/vipin/play/conf volumes: - name: config-volume configMap: name: appname
廣告