摘要:創(chuàng)建創(chuàng)建一個(gè)類型為的,將換成自定義的即可。下面介紹下如何創(chuàng)建對(duì)應(yīng)的。示例在上面的示例中,我們聲明的名稱為的控制器,將創(chuàng)建一個(gè)個(gè),并且為每個(gè)分別掛載一個(gè),以供其存儲(chǔ)數(shù)據(jù)。
apiVersion: v1
kind: Service
metadata:
name: ucloud-nginx
labels:
app: ucloud-nginx
spec:
type: LoadBalancer
ports:
- protocol: TCP
port: 80
selector:
app: ucloud-nginx
---
apiVersion: v1
kind: Pod
metadata:
name: test-nginx
labels:
app: ucloud-nginx
spec:
containers:
- name: nginx
image: uhub.service.ucloud.cn/ucloud/nginx:1.9.2
ports:
- containerPort: 80
imagePullSecrets:
- name: MYSECRET
系統(tǒng)會(huì)自動(dòng)生成一個(gè)ULB,UK8S同時(shí)還支持配置ULB的各種參數(shù),詳見(jiàn)service
在部署一些有狀態(tài)的服務(wù)如 Redis、MySQL 等時(shí),我們需要使用到 StatefulSet 這個(gè)控制器,下面介紹下如果在 UK8S 中使用 UDisk 來(lái)部署 StatefulSet 服務(wù)。
apiVersion: 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)讀寫的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)。
對(duì)于有狀態(tài)服務(wù),我們推薦使用SSD UDisk、RSSD UDisk作為存儲(chǔ)介質(zhì),當(dāng)然,我們也可以使用LocalPV,但由于目前大多數(shù)云主機(jī)的數(shù)據(jù)盤也都是云盤,直接使用 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。
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
volumeClaimTemplates:
- 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。
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" # 是否開啟方舟模式,默認(rèn)不開啟,非必填
chargeType: "month" # 付費(fèi)類型,支持dynamic、month、year,非必填
quantity: "1" # 購(gòu)買時(shí)長(zhǎng),dynamic無(wú)需填寫,可購(gòu)買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。
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ù)。
實(shí)時(shí)文檔歡迎訪問(wèn)https://docs.ucloud.cn/uk8s/manageviakubectl/createservice
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/126256.html
摘要:使用自建日志解決方案下面我們介紹下如何使用來(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...
摘要:為什么在節(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...
摘要:是一個(gè)用于操作集群的命令行工具,本文將簡(jiǎn)要介紹下的語(yǔ)法,并提供一些常見(jiàn)命令示例,如果你想了解深入了解的用法,請(qǐng)查閱官方文檔,或使用命令查看詳細(xì)幫助。常見(jiàn)命令使用一個(gè)文件或者標(biāo)準(zhǔn)輸入創(chuàng)建資源。kubectl命令行簡(jiǎn)介由于查看集群憑證可以直接登錄集群,所以查看集群憑證的操作已歸為用戶角色權(quán)限中的增權(quán)限,如需查看集群憑證,請(qǐng)確保所在角色已開啟UK8S增權(quán)限。kubectl是一個(gè)用于操作kubern...
摘要:詳細(xì)請(qǐng)見(jiàn)產(chǎn)品價(jià)格產(chǎn)品概念使用須知名詞解釋漏洞修復(fù)記錄集群節(jié)點(diǎn)配置推薦模式選擇產(chǎn)品價(jià)格操作指南集群創(chuàng)建需要注意的幾點(diǎn)分別是使用必讀講解使用需要賦予的權(quán)限模式切換的切換等。UK8S概覽UK8S是一項(xiàng)基于Kubernetes的容器管理服務(wù),你可以在UK8S上部署、管理、擴(kuò)展你的容器化應(yīng)用,而無(wú)需關(guān)心Kubernetes集群自身的搭建及維護(hù)等運(yùn)維類工作。了解使用UK8S為了讓您更快上手使用,享受UK...
閱讀 3514·2023-04-25 20:09
閱讀 3720·2022-06-28 19:00
閱讀 3035·2022-06-28 19:00
閱讀 3058·2022-06-28 19:00
閱讀 3132·2022-06-28 19:00
閱讀 2859·2022-06-28 19:00
閱讀 3014·2022-06-28 19:00
閱讀 2610·2022-06-28 19:00