国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

StatefulSet部署示例 容器云 UK8S

ernest.wang / 962人閱讀

摘要:部署示例部署示例部署示例在部署一些有狀態的服務如等時,我們需要使用到這個控制器,下面介紹下如果在中使用來部署服務。調度要求同一個區域的快杰型云主機,區域范圍小于可用區,主機目前不支持指定區域創建機器。

StatefulSet部署示例

在部署一些有狀態的服務如 Redis、MySQL 等時,我們需要使用到 StatefulSet 這個控制器,下面介紹下如果在 UK8S 中使用 UDisk 來部署 StatefulSet 服務。

了解StatefulSet
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mysql
  namespace: db
spec:
  selector:
    matchLabels:
      app: mysql
  replicas: 5
  serviceName: mysql
  template:
    PodTemplateSpec..... # 有大量省略,與Deployment一樣,是關于要控制的Pod的描述
  volumeClaimTemplates:
  - metadata:
      name: www
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: ${YOUR_STORAGECLASS_NAME}
      resources:
        requests:
          storage: 10Gi

如果我們熟悉 Deployment 的結構體,則會發現其與 StatefulSet 最大的區別在于volumeClaimTemplates,其他地方則基本一致。

我們細看下volumeClaimTemplates,發現其結構體與“PersistentVolumeClaim”完全一致,沒錯,volumeClaimTemplates其實就是PVC的模板,用來生成多個訪問模式為單點讀寫的PVC,供 StatefulSet 管理的 Pod 使用。

像上面的示例,StatefulSet 不僅會創建出5個 Pod,同時也還會創建出5個 PVC,供對應的Pod使用,以實現每個 Pod 都具有獨立的存儲狀態。

PVC 示例

對于有狀態服務,我們推薦使用SSD UDisk、RSSD UDisk作為存儲介質,當然,我們也可以使用LocalPV,但由于目前大多數云主機的數據盤也都是云盤,直接使用 LocalPV 還有各種限制,因此強烈推薦使用 UDisk 作為存儲介質

UK8S 集群在初始化的時候,已經內置了三個與 UDisk 相關的存儲類,我們只需要直接引用存儲類創建 PVC 供 Pod 消費即可。下面介紹下如何創建對應的PVC。

?? RSSD UDisk調度要求同一個RDMA區域的快杰型云主機,RDMA區域范圍小于可用區,主機目前不支持指定RDMA區域創建機器。因此使用RSSD UDisk,在Pod漂移的情況下,有可能出現Pod無法調度的問題。請您使用前務必確認可以接受該風險。

使用RSSD UDisk
volumeClaimTemplates:
  - metadata:
      name: ${YOUR_NAME} # 需要與VolumeMount的名稱保持一致;
    spec:
      storageClassName: csi-udisk-rssd #這是集群內置的StorageClass
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 100Gi

上面我們使用的是集群內置的 StorageClass,我們也可以根據創建新的 SC,詳見使用RSSD UDisk

使用SSD UDisk
volumeClaimTemplates:
  - metadata:
      name: ${YOUR_NAME} 
      labels:
        name: redis-cluster
    spec:
      storageClassName: ssd-csi-udisk #這是自行創建的存儲介質為SSD UDisk的StorageClass
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 20Gi

我們看到,需要使用不同的存儲介質,只需要在創建PVC時聲明不同的storageClassName即可。下面我們介紹下如果創建自定義StorageClass。

聲明自定義的StorageClass(UDisk 類型)
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: udisk-ssd-test
provisioner: udisk.csi.ucloud.cn #存儲供應方,此處不可更改。
parameters:
  type: "ssd"   # 存儲介質,支持ssd和sata、rssd,必填
  fsType: "ext4"    # 文件系統,必填
  udataArkMode: "no"   # 是否開啟方舟模式,默認不開啟,非必填
  chargeType: "month" # 付費類型,支持dynamic、month、year,非必填
  quantity: "1" # 購買時長,dynamic無需填寫,可購買1-9個月,或1-10年
reclaimPolicy: Retain  # PV回收策略,支持Delete和Retain,默認為Delete,非必填
mountOptions:   
  - debug
  - rw

上面的示例涵蓋了 UDisk 的StorageClass的全部參數,我們可以根據業務需要來自定義 SC。

StatefulSet 示例
apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  ports:
  - port: 80
    name: web
  clusterIP: None
  selector:
    app: nginx
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: nginx # has to match .spec.template.metadata.labels
  serviceName: "nginx"
  replicas: 3 # by default is 1
  template:
    metadata:
      labels:
        app: nginx # has to match .spec.selector.matchLabels
    spec:
      terminationGracePeriodSeconds: 10
      containers:
      - name: nginx
        image: uhub.service.ucloud.cn/ucloud/nginx:latest
        ports:
        - containerPort: 80
          name: web
        volumeMounts:
        - name: www
          mountPath: /usr/share/nginx/html
  volumeClaimTemplates:
  - metadata:
      name: www
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "csi-udisk-rssd"  # has to match a storageClassname existed in  your cluster
      resources:
        requests:
          storage: 100Gi

在上面的示例中,我們聲明的名稱為 Web 的 StatefulSet 控制器,將創建一個3個nginx Pod,并且為每個Pod分別掛載一個RSSD UDisk,以供其存儲數據。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/126663.html

相關文章

  • 容器 UK8S】使用kubectl操作集群:創建Service及StatefulSet部署示例

    摘要:創建創建一個類型為的,將換成自定義的即可。下面介紹下如何創建對應的。示例在上面的示例中,我們聲明的名稱為的控制器,將創建一個個,并且為每個分別掛載一個,以供其存儲數據。創建Service創建一個類型為LoadBalancer的Service,將MYSECRET換成自定義的SecretName即可。 apiVersion: v1 kind: Service metadata: name:...

    Tecode 評論0 收藏0
  • 容器 UK8S】日志監控方案:使用ELK自建UK8S日志解決方案

    摘要:使用自建日志解決方案下面我們介紹下如何使用來搭建日志解決方案。根據配置文件創建一個名為的,如下在集群部署。配置在之前部署時,由于我們已經將加入到中,已經可以對的日志實現監控采集。使用ELK自建UK8S日志解決方案下面我們介紹下如何使用Elasticsearch+Filebeat+Kibana來搭建UK8S日志解決方案。一、部署Elasticsearch1. 關于ElasticsearchEl...

    Tecode 評論0 收藏0
  • 拉勾網基于 UK8S平臺的容器化改造實踐

    摘要:宋體本文從拉勾網的業務架構日志采集監控服務暴露調用等方面介紹了其基于的容器化改造實踐。宋體此外,拉勾網還有一套自研的環境的業務發布系統,不過這套發布系統未適配容器環境。寫在前面 拉勾網于 2019 年 3 月份開始嘗試將生產環境的業務從 UHost 遷移到 UK8S,截至 2019 年 9 月份,QA 環境的大部分業務模塊已經完成容器化改造,生產環境中,后臺管理服務已全部遷移到 UK8...

    CoorChice 評論0 收藏0
  • UK8S 集群常見問題 容器 UK8S

    摘要:為什么在節點直接起容器網絡不通為什么在節點直接起容器網絡不通為什么在節點直接起容器網絡不通使用自己的插件,而直接用起的容器并不能使用該插件,因此網絡不通。 UK8S 集群常見問題本篇目錄1. UK8S 完全兼容原生 Kubernetes API嗎?2. UK8S 人工支持3. UK8S對Node上發布的容器有限制嗎?如何修改?4. 為什么我的容器一起來就退出了?5. Docker 如何調整日...

    ernest.wang 評論0 收藏1762
  • 容器 UK8S】鏡像制作與容器常見問題:為什么節點已經異常了,但是 Pod 還處在 Runnin

    摘要:對于節點已經登陸不了的情況,如果希望快速恢復可以在控制臺找到對應主機斷電重啟。與綁定完成,插件完成后續的掛載和等工作。UK8S 人工支持對于使用 UK8S 遇到的本文檔未涉及的問題,如果需要人工支持,請添加下面公鑰信任,并提供主機的 uhost-idssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGIFVUtrp+jAnIu1fBvyLx/4L4GNsX+6v8...

    Tecode 評論0 收藏0
  • 容器 UK8S】常見問題及排障指南:入門必讀之Pod 常見命令,Controller 常見命令和

    摘要:入門必讀提供了一系列的命令行工具來輔助我們調試和定位問題,本指南列舉一些常見的命令來幫助應用管理者快速定位和解決問題。這里以為例,介紹的常用命令其他的命令類型與其一致。入門必讀Kubernetes 提供了一系列的命令行工具來輔助我們調試和定位問題,本指南列舉一些常見的命令來幫助應用管理者快速定位和解決問題。定位問題在開始處理問題之前,我們需要確認問題的類型,是 Pod ,Service ,或...

    Tecode 評論0 收藏0

發表評論

0條評論

ernest.wang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<