檢測(cè)到您已登錄華為云國(guó)際站賬號(hào),為了您更好的體驗(yàn),建議您訪問國(guó)際站服務(wù)網(wǎng)站 http://www.cqfng.cn/intl/zh-cn
不再顯示此消息
此華為云解決方案有何用途?
此解決方案能幫您快速在華為云上部署高可用的ClickHouse集群。ClickHouse是一款用于聯(lián)機(jī)分析(OLAP)的列式數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。它可以被用于多種場(chǎng)景,如電子商務(wù)中用戶行為數(shù)據(jù)的記錄和分析,廣告網(wǎng)絡(luò)及電信行業(yè)中數(shù)據(jù)的存儲(chǔ)和統(tǒng)計(jì),信息安全中的日志分析,遙感中的信息挖掘,商業(yè)智能、網(wǎng)絡(luò)游戲以及物聯(lián)網(wǎng)中的數(shù)據(jù)處理和價(jià)值數(shù)據(jù)分析等。關(guān)于詳細(xì)的特性信息,請(qǐng)見ClickHouse網(wǎng)站。
為了便于您的測(cè)試及使用部署好的ClickHouse集群,該解決方案以XX數(shù)據(jù)集為例,對(duì)數(shù)據(jù)基于Grafana工具進(jìn)行了可視化,并提供了統(tǒng)計(jì)分析報(bào)告。
對(duì)于數(shù)據(jù)庫(kù)等需要持久化存儲(chǔ)數(shù)據(jù)的容器應(yīng)用,建議您使用有狀態(tài)工作負(fù)載,請(qǐng)參見創(chuàng)建有狀態(tài)負(fù)載(StatefulSet)。 如果您希望工作負(fù)載實(shí)例調(diào)度到指定的節(jié)點(diǎn)上,請(qǐng)參見工作負(fù)載調(diào)度策略概述。 如果創(chuàng)建工作負(fù)載時(shí)出現(xiàn)異常,請(qǐng)參見工作負(fù)載狀態(tài)異常定位方法。 工作負(fù)載創(chuàng)建完成后,更多操作請(qǐng)參見管理工作負(fù)載。 父主題: 創(chuàng)建工作負(fù)載
創(chuàng)建無狀態(tài)負(fù)載(Deployment) 操作場(chǎng)景 在運(yùn)行中始終不保存任何數(shù)據(jù)或狀態(tài)的工作負(fù)載稱為“無狀態(tài)負(fù)載 Deployment”,例如nginx。您可以通過控制臺(tái)或kubectl命令行創(chuàng)建無狀態(tài)負(fù)載。 前提條件 在創(chuàng)建工作負(fù)載前,已存在一個(gè)可用集群。若沒有可用集群,請(qǐng)參照購(gòu)買CCE
要求每個(gè)Pod都有自己?jiǎn)为?dú)的狀態(tài)時(shí),比如分布式數(shù)據(jù)庫(kù),每個(gè)Pod要求有單獨(dú)的存儲(chǔ),這時(shí)Deployment就不能滿足需求了。 詳細(xì)分析下有狀態(tài)應(yīng)用的需求,分布式有狀態(tài)的特點(diǎn)主要是應(yīng)用中每個(gè)部分的角色不同(即分工不同),比如數(shù)據(jù)庫(kù)有主備,Pod之間有依賴,對(duì)應(yīng)到Kubernetes中就是對(duì)Pod有如下要求:
本管理、滾動(dòng)升級(jí)和自愈能力,其中最為常用的就是Deployment。 圖1 Deployment 一個(gè)Deployment可以包含一個(gè)或多個(gè)Pod副本,每個(gè)Pod副本的角色相同,所以系統(tǒng)會(huì)自動(dòng)為Deployment的多個(gè)Pod副本分發(fā)請(qǐng)求。 Deployment集成了上線部署、滾
每周報(bào)表生成 工作負(fù)載生命周期說明 表1 狀態(tài)說明 狀態(tài) 說明 運(yùn)行中 所有實(shí)例都處于運(yùn)行中、或?qū)嵗龜?shù)為0時(shí)顯示此狀態(tài)。 未就緒 容器處于異常、負(fù)載下實(shí)例沒有正常運(yùn)行時(shí)顯示此狀態(tài)。 處理中 負(fù)載沒有進(jìn)入運(yùn)行狀態(tài)但也沒有報(bào)錯(cuò)時(shí)顯示此狀態(tài)。 可用 當(dāng)多實(shí)例無狀態(tài)工作負(fù)載運(yùn)行過程中部分
創(chuàng)建有狀態(tài)負(fù)載(StatefulSet) 有狀態(tài)負(fù)載(StatefulSet)是指那些在運(yùn)行過程中需要保存數(shù)據(jù)或狀態(tài)的應(yīng)用,例如數(shù)據(jù)庫(kù)、緩存服務(wù)、消息隊(duì)列等。與無狀態(tài)工作負(fù)載不同,有狀態(tài)負(fù)載存在以下特點(diǎn): 固定標(biāo)識(shí)符:有狀態(tài)工作負(fù)載中的每個(gè)Pod都有一個(gè)固定的標(biāo)識(shí)符,這個(gè)標(biāo)識(shí)符與
通過控制臺(tái)創(chuàng)建無狀態(tài)負(fù)載 登錄云容器實(shí)例管理控制臺(tái),左側(cè)導(dǎo)航欄中選擇“工作負(fù)載 > 無狀態(tài)(Deployment)”,在右側(cè)頁面單擊“鏡像創(chuàng)建”。 添加基本信息。
無狀態(tài)負(fù)載(Deployment) 無狀態(tài)負(fù)載(Deployment) Pod是Kubernetes創(chuàng)建或部署的最小單位,但是Pod是被設(shè)計(jì)為相對(duì)短暫的一次性實(shí)體,Pod可以被驅(qū)逐(當(dāng)節(jié)點(diǎn)資源不足時(shí))、隨著集群的節(jié)點(diǎn)崩潰而消失。
有狀態(tài)負(fù)載(StatefulSet) 有狀態(tài)負(fù)載(StatefulSet) Deployment控制器下的Pod都有個(gè)共同特點(diǎn),那就是每個(gè)Pod除了名稱和IP地址不同,其余完全相同。
某種程度上,Deployment實(shí)現(xiàn)無人值守的上線,大大降低了上線過程的復(fù)雜性和操作風(fēng)險(xiǎn)。 有狀態(tài)負(fù)載(StatefulSet) Deployment控制器下的Pod都有個(gè)共同特點(diǎn),那就是每個(gè)Pod除了名稱和IP地址不同,其余完全相同。需要的時(shí)候,Deployment可以通過Po
在頁面左上角選擇命名空間,找到對(duì)應(yīng)的工作負(fù)載,查看其狀態(tài)。 如果工作負(fù)載狀態(tài)為“未就緒”,可通過查看Pod的事件等信息確定異常原因,詳情請(qǐng)參見Pod事件查看方法。根據(jù)事件,參考Pod常見異常問題查找異常的解決方案。 如果工作負(fù)載狀態(tài)為“處理中”,一般為過程中的狀態(tài),請(qǐng)耐心等待。 如果工作負(fù)載狀態(tài)為“運(yùn)行中”
工作負(fù)載狀態(tài)正常但未正常工作 問題現(xiàn)象 Pod已經(jīng)處于Running狀態(tài)(查看Pod狀態(tài))但未正常工作,或者訪問結(jié)果不符合預(yù)期。 問題原因 可能是您的部署描述YAML文件(例如 Pod、Deployment、StatefulSet等)存在錯(cuò)誤。例如: 鏡像版本未更新。您可能未使用
可以通過更換鏡像或鏡像版本實(shí)現(xiàn)無狀態(tài)工作負(fù)載、有狀態(tài)工作負(fù)載、守護(hù)進(jìn)程集的快速升級(jí),業(yè)務(wù)無中斷。 編輯YAML 可通過在線YAML編輯窗對(duì)無狀態(tài)工作負(fù)載、有狀態(tài)工作負(fù)載、守護(hù)進(jìn)程集、定時(shí)任務(wù)和容器組的YAML文件進(jìn)行修改和下載。普通任務(wù)的YAML文件僅支持查看、復(fù)制和下載。 說明: 如果對(duì)
使用kubectl部署帶文件存儲(chǔ)卷的有狀態(tài)工作負(fù)載 操作場(chǎng)景 CCE支持使用已有的文件存儲(chǔ)(PersistentVolumeClaim),創(chuàng)建有狀態(tài)工作負(fù)載(StatefulSet)。 約束與限制 如下配置示例適用于Kubernetes 1.13及以下版本的集群。 操作步驟 參照
問題原因 該告警事件說明節(jié)點(diǎn)上綁定的云硬盤已達(dá)上限,掛載云硬盤的工作負(fù)載實(shí)例調(diào)度到該節(jié)點(diǎn)后,無法繼續(xù)掛載云硬盤,導(dǎo)致工作負(fù)載無法正常運(yùn)行。 例如,假設(shè)節(jié)點(diǎn)可掛載的云硬盤上限為20,除去節(jié)點(diǎn)上已掛載的1塊系統(tǒng)盤和1塊數(shù)據(jù)盤后,節(jié)點(diǎn)剩余可掛載的云硬盤數(shù)量為18塊。若該節(jié)點(diǎn)通過ECS
image 工作負(fù)載的鏡像。 mountPath 容器內(nèi)掛載路徑,示例中掛載到“/tmp”路徑。 serviceName 工作負(fù)載對(duì)應(yīng)的服務(wù),服務(wù)創(chuàng)建過程請(qǐng)參見創(chuàng)建有狀態(tài)負(fù)載(StatefulSet)。
請(qǐng)參見創(chuàng)建無狀態(tài)負(fù)載(Deployment)。 參數(shù) 示例 參數(shù)說明 負(fù)載類型 無狀態(tài)負(fù)載 Deployment 工作負(fù)載是在 Kubernetes 上運(yùn)行的應(yīng)用程序。Kubernetes提供了一些內(nèi)置的工作負(fù)載資源,不同工作負(fù)載的功能特性及應(yīng)用場(chǎng)景不同。關(guān)于工作負(fù)載類型的介紹請(qǐng)參見工作負(fù)載概述。
有狀態(tài)負(fù)載 創(chuàng)建有狀態(tài)工作負(fù)載 (可選)若基于我的鏡像創(chuàng)建工作負(fù)載,用戶首先需要將鏡像上傳至容器鏡像服務(wù),上傳鏡像的方式請(qǐng)參見鏡像管理。若基于開源鏡像中心創(chuàng)建工作負(fù)載,則無需上傳鏡像。 在集群控制臺(tái)選擇“工作負(fù)載 > 有狀態(tài)負(fù)載”,單擊“鏡像創(chuàng)建”。 參照表1設(shè)置基本信息,其中帶“*”標(biāo)志的參數(shù)為必填參數(shù)。
工作負(fù)載異常:已停止 問題現(xiàn)象 工作負(fù)載的狀態(tài)為“已停止”。 問題原因: 工作負(fù)載的yaml的中metadata.enable字段為false,導(dǎo)致工作負(fù)載被停止,Pod被刪除導(dǎo)致工作負(fù)載處于已停止狀態(tài),如下圖所示: 解決方案 將enable字段刪除或者將false修改為true。
無狀態(tài)負(fù)載 UCS集群聯(lián)邦可實(shí)現(xiàn)多個(gè)不同區(qū)域、不同云的Kubernetes管理,支持統(tǒng)一的全局應(yīng)用部署,可將Deployment、StatefulSet、DaemonSet等不同類型的工作負(fù)載部署到集群聯(lián)邦下的集群。
進(jìn)入CCE控制臺(tái),單擊“工作負(fù)載 > 有狀態(tài)負(fù)載 StatefulSet”,選擇BCS實(shí)例所使用的集群,找到對(duì)應(yīng)新加組織或新建節(jié)點(diǎn)的工作負(fù)載,單擊負(fù)載名稱進(jìn)入負(fù)載詳情頁,查看實(shí)例列表,找到異常實(shí)例。
工作負(fù)載最佳實(shí)踐 本文主要為您介紹工作負(fù)載相關(guān)實(shí)踐。 場(chǎng)景分類 相關(guān)最佳實(shí)踐 創(chuàng)建工作負(fù)載相關(guān)實(shí)踐 合理分配容器計(jì)算資源 在CCE中實(shí)現(xiàn)應(yīng)用高可用部署 升級(jí)實(shí)例過程中實(shí)現(xiàn)業(yè)務(wù)不中斷 通過特權(quán)容器功能優(yōu)化內(nèi)核參數(shù) 使用Init容器初始化應(yīng)用 CCE中使用x86和ARM雙架構(gòu)鏡像 使用SWR觸發(fā)器自動(dòng)更新工作負(fù)載版本
配置工作負(fù)載 設(shè)置鏡像拉取策略 使用第三方鏡像 設(shè)置容器生命周期 設(shè)置容器健康檢查 設(shè)置環(huán)境變量 設(shè)置性能管理配置 設(shè)置工作負(fù)載升級(jí)策略 設(shè)置標(biāo)簽與注解 設(shè)置可用區(qū)親和性 父主題: 工作負(fù)載
本視頻以nginx為例,介紹使用CCE部署工作負(fù)載的基本流程。
Pod拉取鏡像異常,診斷一下 在工作負(fù)載詳情頁使用 在“盤古Doer”中使用 登錄CCE控制臺(tái),單擊集群名稱進(jìn)入集群。 在左側(cè)導(dǎo)航欄中選擇“工作負(fù)載”,切換至對(duì)應(yīng)的工作負(fù)載頁簽,例如“無狀態(tài)負(fù)載”頁簽。 找到異常節(jié)點(diǎn),單擊需要診斷的工作負(fù)載實(shí)例名稱,進(jìn)入工作負(fù)載詳情頁面。 在實(shí)例列表中,找到狀態(tài)異常的Pod,并將鼠標(biāo)懸浮至“狀態(tài)”欄中。
設(shè)置容器規(guī)格 操作場(chǎng)景 CCE支持在創(chuàng)建工作負(fù)載時(shí)為添加的容器設(shè)置資源的需求量和限制,最常見的可設(shè)定資源是 CPU 和內(nèi)存(RAM)大小。此外Kubernetes還支持其他類型的資源,可通過YAML設(shè)置。 申請(qǐng)與限制 在CPU配額和內(nèi)存配額設(shè)置中,申請(qǐng)與限制的含義如下: 申請(qǐng)(R