摘要:部署示例部署示例部署示例在部署一些有狀態(tài)的服務(wù)如等時(shí),我們需要使用到這個(gè)控制器,下面介紹下如果在中使用來(lái)部署服務(wù)。調(diào)度要求同一個(gè)區(qū)域的快杰型云主機(jī),區(qū)域范圍小于可用區(qū),主機(jī)目前不支持指定區(qū)域創(chuàng)建機(jī)器。
在部署一些有狀態(tài)的服務(wù)如 Redis、MySQL 等時(shí),我們需要使用到 StatefulSet 這個(gè)控制器,下面介紹下如果在 UK8S 中使用 UDisk 來(lái)部署 StatefulSet 服務(wù)。
了解StatefulSetapiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql
namespace: db
spec:
selector:
matchLabels:
app: mysql
replicas: 5
serviceName: mysql
template:
PodTemplateSpec..... # 有大量省略,與Deployment一樣,是關(guān)于要控制的Pod的描述
volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: ${YOUR_STORAGECLASS_NAME}
resources:
requests:
storage: 10Gi
如果我們熟悉 Deployment 的結(jié)構(gòu)體,則會(huì)發(fā)現(xiàn)其與 StatefulSet 最大的區(qū)別在于volumeClaimTemplates,其他地方則基本一致。
我們細(xì)看下volumeClaimTemplates,發(fā)現(xiàn)其結(jié)構(gòu)體與“PersistentVolumeClaim”完全一致,沒(méi)錯(cuò),volumeClaimTemplates其實(shí)就是PVC的模板,用來(lái)生成多個(gè)訪問(wèn)模式為單點(diǎn)讀寫(xiě)的PVC,供 StatefulSet 管理的 Pod 使用。
像上面的示例,StatefulSet 不僅會(huì)創(chuàng)建出5個(gè) Pod,同時(shí)也還會(huì)創(chuàng)建出5個(gè) PVC,供對(duì)應(yīng)的Pod使用,以實(shí)現(xiàn)每個(gè) Pod 都具有獨(dú)立的存儲(chǔ)狀態(tài)。
PVC 示例對(duì)于有狀態(tài)服務(wù),我們推薦使用SSD UDisk、RSSD UDisk作為存儲(chǔ)介質(zhì),當(dāng)然,我們也可以使用LocalPV,但由于目前大多數(shù)云主機(jī)的數(shù)據(jù)盤(pán)也都是云盤(pán),直接使用 LocalPV 還有各種限制,因此強(qiáng)烈推薦使用 UDisk 作為存儲(chǔ)介質(zhì)
UK8S 集群在初始化的時(shí)候,已經(jīng)內(nèi)置了三個(gè)與 UDisk 相關(guān)的存儲(chǔ)類,我們只需要直接引用存儲(chǔ)類創(chuàng)建 PVC 供 Pod 消費(fèi)即可。下面介紹下如何創(chuàng)建對(duì)應(yīng)的PVC。
使用RSSD UDisk?? RSSD UDisk調(diào)度要求同一個(gè)RDMA區(qū)域的快杰型云主機(jī),RDMA區(qū)域范圍小于可用區(qū),主機(jī)目前不支持指定RDMA區(qū)域創(chuàng)建機(jī)器。因此使用RSSD UDisk,在Pod漂移的情況下,有可能出現(xiàn)Pod無(wú)法調(diào)度的問(wèn)題。請(qǐng)您使用前務(wù)必確認(rèn)可以接受該風(fēng)險(xiǎn)。
volumeClaimTemplates:
- metadata:
name: ${YOUR_NAME} # 需要與VolumeMount的名稱保持一致;
spec:
storageClassName: csi-udisk-rssd #這是集群內(nèi)置的StorageClass
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
上面我們使用的是集群內(nèi)置的 StorageClass,我們也可以根據(jù)創(chuàng)建新的 SC,詳見(jiàn)使用RSSD UDisk
使用SSD UDiskvolumeClaimTemplates:
- metadata:
name: ${YOUR_NAME}
labels:
name: redis-cluster
spec:
storageClassName: ssd-csi-udisk #這是自行創(chuàng)建的存儲(chǔ)介質(zhì)為SSD UDisk的StorageClass
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
我們看到,需要使用不同的存儲(chǔ)介質(zhì),只需要在創(chuàng)建PVC時(shí)聲明不同的storageClassName即可。下面我們介紹下如果創(chuàng)建自定義StorageClass。
聲明自定義的StorageClass(UDisk 類型)apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: udisk-ssd-test
provisioner: udisk.csi.ucloud.cn #存儲(chǔ)供應(yīng)方,此處不可更改。
parameters:
type: "ssd" # 存儲(chǔ)介質(zhì),支持ssd和sata、rssd,必填
fsType: "ext4" # 文件系統(tǒng),必填
udataArkMode: "no" # 是否開(kāi)啟方舟模式,默認(rèn)不開(kāi)啟,非必填
chargeType: "month" # 付費(fèi)類型,支持dynamic、month、year,非必填
quantity: "1" # 購(gòu)買(mǎi)時(shí)長(zhǎng),dynamic無(wú)需填寫(xiě),可購(gòu)買(mǎi)1-9個(gè)月,或1-10年
reclaimPolicy: Retain # PV回收策略,支持Delete和Retain,默認(rèn)為Delete,非必填
mountOptions:
- debug
- rw
上面的示例涵蓋了 UDisk 的StorageClass的全部參數(shù),我們可以根據(jù)業(yè)務(wù)需要來(lái)自定義 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 控制器,將創(chuàng)建一個(gè)3個(gè)nginx Pod,并且為每個(gè)Pod分別掛載一個(gè)RSSD UDisk,以供其存儲(chǔ)數(shù)據(jù)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/126663.html
摘要:創(chuàng)建創(chuàng)建一個(gè)類型為的,將換成自定義的即可。下面介紹下如何創(chuàng)建對(duì)應(yīng)的。示例在上面的示例中,我們聲明的名稱為的控制器,將創(chuàng)建一個(gè)個(gè),并且為每個(gè)分別掛載一個(gè),以供其存儲(chǔ)數(shù)據(jù)。創(chuàng)建Service創(chuàng)建一個(gè)類型為L(zhǎng)oadBalancer的Service,將MYSECRET換成自定義的SecretName即可。 apiVersion: v1 kind: Service metadata: name:...
摘要:使用自建日志解決方案下面我們介紹下如何使用來(lái)搭建日志解決方案。根據(jù)配置文件創(chuàng)建一個(gè)名為的,如下在集群部署。配置在之前部署時(shí),由于我們已經(jīng)將加入到中,已經(jīng)可以對(duì)的日志實(shí)現(xiàn)監(jiān)控采集。使用ELK自建UK8S日志解決方案下面我們介紹下如何使用Elasticsearch+Filebeat+Kibana來(lái)搭建UK8S日志解決方案。一、部署Elasticsearch1. 關(guān)于ElasticsearchEl...
摘要:宋體本文從拉勾網(wǎng)的業(yè)務(wù)架構(gòu)日志采集監(jiān)控服務(wù)暴露調(diào)用等方面介紹了其基于的容器化改造實(shí)踐。宋體此外,拉勾網(wǎng)還有一套自研的環(huán)境的業(yè)務(wù)發(fā)布系統(tǒng),不過(guò)這套發(fā)布系統(tǒng)未適配容器環(huán)境。寫(xiě)在前面 拉勾網(wǎng)于 2019 年 3 月份開(kāi)始嘗試將生產(chǎn)環(huán)境的業(yè)務(wù)從 UHost 遷移到 UK8S,截至 2019 年 9 月份,QA 環(huán)境的大部分業(yè)務(wù)模塊已經(jīng)完成容器化改造,生產(chǎn)環(huán)境中,后臺(tái)管理服務(wù)已全部遷移到 UK8...
摘要:為什么在節(jié)點(diǎn)直接起容器網(wǎng)絡(luò)不通為什么在節(jié)點(diǎn)直接起容器網(wǎng)絡(luò)不通為什么在節(jié)點(diǎn)直接起容器網(wǎng)絡(luò)不通使用自己的插件,而直接用起的容器并不能使用該插件,因此網(wǎng)絡(luò)不通。 UK8S 集群常見(jiàn)問(wèn)題本篇目錄1. UK8S 完全兼容原生 Kubernetes API嗎?2. UK8S 人工支持3. UK8S對(duì)Node上發(fā)布的容器有限制嗎?如何修改?4. 為什么我的容器一起來(lái)就退出了?5. Docker 如何調(diào)整日...
摘要:對(duì)于節(jié)點(diǎn)已經(jīng)登陸不了的情況,如果希望快速恢復(fù)可以在控制臺(tái)找到對(duì)應(yīng)主機(jī)斷電重啟。與綁定完成,插件完成后續(xù)的掛載和等工作。UK8S 人工支持對(duì)于使用 UK8S 遇到的本文檔未涉及的問(wèn)題,如果需要人工支持,請(qǐng)?zhí)砑酉旅婀€信任,并提供主機(jī)的 uhost-idssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGIFVUtrp+jAnIu1fBvyLx/4L4GNsX+6v8...
摘要:入門(mén)必讀提供了一系列的命令行工具來(lái)輔助我們調(diào)試和定位問(wèn)題,本指南列舉一些常見(jiàn)的命令來(lái)幫助應(yīng)用管理者快速定位和解決問(wèn)題。這里以為例,介紹的常用命令其他的命令類型與其一致。入門(mén)必讀Kubernetes 提供了一系列的命令行工具來(lái)輔助我們調(diào)試和定位問(wèn)題,本指南列舉一些常見(jiàn)的命令來(lái)幫助應(yīng)用管理者快速定位和解決問(wèn)題。定位問(wèn)題在開(kāi)始處理問(wèn)題之前,我們需要確認(rèn)問(wèn)題的類型,是 Pod ,Service ,或...
閱讀 479·2024-11-07 18:25
閱讀 130843·2024-02-01 10:43
閱讀 956·2024-01-31 14:58
閱讀 920·2024-01-31 14:54
閱讀 83040·2024-01-29 17:11
閱讀 3299·2024-01-25 14:55
閱讀 2081·2023-06-02 13:36
閱讀 3197·2023-05-23 10:26