-->

whaust

2023年2月20日 星期一

[K8s YAML] nginx yaml 產生範例

K8s Yaml 檔, 目的在於產生 nginx 服務 , 固定運行在 worker1 , worker2 , worker3 三個 node , 三個 node , pvc 的空間要 50G , storage class 為 basic1

 
 #!/bin/bash

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
    - name: http
      port: 80
      targetPort: 80
  type: ClusterIP
---
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-container
          image: nginx
          volumeMounts:
            - name: nginx-pvc
              mountPath: /usr/share/nginx/html
      volumes:
        - name: nginx-pvc
          persistentVolumeClaim:
            claimName: nginx-pvc
      nodeSelector:
        kubernetes.io/hostname: worker1,worker2,worker3
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nginx-pvc
spec:
  storageClassName: basic1
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 50Gi



2023年2月15日 星期三

在 Kubernetes 叢集中實現高可用性 (HA) 的步驟

在 Kubernetes 叢集中實現高可用性 (HA) 的步驟:


1. 準備多個節點:需要至少三個節點來部署高可用性 Kubernetes 叢集。每個節點都應該安裝 Kubernetes 執行環境,以及任何必要的依賴項。


2. 設置共享存儲解決方案:為了讓 Kubernetes API 服務器在節點故障的情況下保持可用,它需要訪問共享存儲解決方案。這可以是分散式文件系統、網絡附加存儲 (NAS) 設備或存儲區網絡 (SAN)。


3. 安裝負載均衡器:負載均衡器用於分發流量到 Kubernetes API 服務器實例,以確保請求均勻分佈,即使節點故障,API 服務器仍然可用。您可以使用硬件負載均衡器、基於雲的負載均衡器或軟件負載均衡器,如 HAProxy。


4. 安裝並配置 Kubernetes 組件:在叢集中的每個節點上安裝 Kubernetes 組件,包括 Kubernetes API 服務器、etcd、kube-controller-manager、kube-scheduler 和 kubelet。


5. 配置 etcd:etcd 是存儲 Kubernetes 叢集配置和狀態的鍵值存儲。將 etcd 配置為在叢集的每個節點上運行,並配置其使用共享存儲解決方案。


6. 配置 Kubernetes API 服務器:配置 Kubernetes API 服務器使用負載均衡器分發流量到 API 服務器實例,並配置其使用 etcd 作為其數據存儲。


7. 配置 Kubernetes 控制器管理器和調度器:配置這些組件使用負載均衡器和 etcd。


8. 將節點加入叢集:將每個節點加入叢集,並配置 kubelet 使用負載均衡器進行 API 服務器請求。


9. 測試叢集:安裝和配置完成後,通過部署一些測試應用程序並進行驗證來測試您的 Kubernetes 叢集是否正常運作。您可以使用 Kubernetes 官方提供的 Demo 應用程序或自己的應用程序進行測試。


綜上所述,要實現 Kubernetes 叢集的高可用性,需要在每個節點上安裝和配置 Kubernetes 組件,包括 etcd、Kubernetes API 服務器、kube-controller-manager、kube-scheduler 和 kubelet。同時還需要設置共享存儲解決方案和負載均衡器,以確保 Kubernetes API 服務器在節點故障的情況下仍然可用。最後,通過部署測試應用程序並進行驗證來測試 Kubernetes 叢集的運作是否正常。

Popular