iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0
Kubernetes

K8s 資料庫管理系統系列 第 2

day2 從企業實例看k8s導入

  • 分享至 

  • xImage
  •  

今天是第二天我們可以從企業的大型資料庫看k8s如何導入公司系統中,以下是範例
例如:

  • Airbnb:利用 Kubernetes 來管理其大規模微服務架構。
  • Spotify:在 Kubernetes 上運行數千個微服務,幫助提升服務的可擴展性和彈性。
  • Box:從傳統數據中心過渡到基於 Kubernetes 的雲原生基礎設施,實現了自動化和擴展性。

以下是程式碼

具體步驟

1. 建立 Deployment 物件

這個 deployment.yaml 檔案定義了一個應用的部署,指定了應用的映像檔及副本數量。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  labels:
    app: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app-container
        image: my-app:1.0
        ports:
        - containerPort: 8080

2. 建立 Service 物件

這個 service.yaml 檔案創建了一個 ClusterIP 服務,用來將流量路由到 Deployment 中的 Pods。

apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: ClusterIP

3. 配置自動擴展

使用 HPA 來根據 CPU 利用率自動調整 Pod 的副本數量。

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: my-app-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: my-app
  minReplicas: 3
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 50

挑戰

  1. 複雜的部署流程:現有的部署過程過於繁瑣且容易出錯。
  2. 擴展性不足:隨著用戶量增加,現有系統難以應對流量峰值。
  3. 高可用性要求:系統需保證 99.9% 的可用性。

Kubernetes 解決方案

  1. 自動化部署:利用 Kubernetes 的 Deployment 物件來自動管理應用的部署。
  2. 水平擴展:利用 Kubernetes 的 Horizontal Pod Autoscaler (HPA) 自動調整應用副本數量,以應對流量變化。
  3. 高可用性:利用 Kubernetes 的 Service 和 Ingress 控制器,實現應用的負載均衡與高可用性。

成果

這家公司通過導入 Kubernetes 成功實現了以下目標:

  • 部署自動化:部署時間減少了 70%。
  • 應用高可用性:系統運行更加穩定,且具備自動恢復能力。
  • 彈性擴展:能夠根據流量動態調整資源,降低了運營成本。

結論

Kubernetes 為企業提供了高度自動化和擴展性的平台,適合需要高可用性和彈性擴展的應用場景。導入過程中需要詳細規劃,但最終能夠顯著提升運營效率。


上一篇
Day 1 K8s 介紹
下一篇
day3 K8s豬隻管理系統
系列文
K8s 資料庫管理系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言