99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

看看這5個(gè)維度是如何優(yōu)化Kubernetes集群的

馬哥Linux運(yùn)維 ? 來(lái)源:簡(jiǎn)書(shū) ? 作者:薛海山 ? 2021-09-24 14:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、節(jié)點(diǎn)配額和內(nèi)核參數(shù)調(diào)整

對(duì)于公有云上的 Kubernetes 集群,規(guī)模大了之后很容器碰到配額問(wèn)題,需要提前在云平臺(tái)上增大配額。這些需要增大的配額包括:

  • 虛擬機(jī)個(gè)數(shù)

  • vCPU 個(gè)數(shù)

  • 內(nèi)網(wǎng) IP 地址個(gè)數(shù)

  • 公網(wǎng) IP 地址個(gè)數(shù)

  • 安全組條數(shù)

  • 路由表?xiàng)l數(shù)

  • 持久化存儲(chǔ)大小

參考gce隨著node節(jié)點(diǎn)的增加master節(jié)點(diǎn)的配置:

  • 1-5 nodes: n1-standard-1

  • 6-10 nodes: n1-standard-2

  • 11-100 nodes: n1-standard-4

  • 101-250 nodes: n1-standard-8

  • 251-500 nodes: n1-standard-16

  • more than 500 nodes: n1-standard-32

參考阿里云配置:

# max-file 表示系統(tǒng)級(jí)別的能夠打開(kāi)的文件句柄的數(shù)量,一般如果遇到文件句柄達(dá)到上限時(shí),會(huì)碰到"Too many open files"或者Socket/File: Can’t open so many files等錯(cuò)誤。
fs.file-max=1000000

#配置arpcache大小
net.ipv4.neigh.default.gc_thresh1=1024
#存在于ARP高速緩存中的最少層數(shù),如果少于這個(gè)數(shù),垃圾收集器將不會(huì)運(yùn)行。缺省值是128。

#保存在 ARP 高速緩存中的最多的記錄軟限制。垃圾收集器在開(kāi)始收集前,允許記錄數(shù)超過(guò)這個(gè)數(shù)字 5 秒。缺省值是 512。
net.ipv4.neigh.default.gc_thresh2=4096

#保存在 ARP 高速緩存中的最多記錄的硬限制,一旦高速緩存中的數(shù)目高于此,垃圾收集器將馬上運(yùn)行。缺省值是1024。
net.ipv4.neigh.default.gc_thresh3=8192

#以上三個(gè)參數(shù),當(dāng)內(nèi)核維護(hù)的arp表過(guò)于龐大時(shí)候,可以考慮優(yōu)化

#允許的最大跟蹤連接條目,是在內(nèi)核內(nèi)存中netfilter可以同時(shí)處理的“任務(wù)”(連接跟蹤條目)
net.netfilter.nf_conntrack_max=10485760

#哈希表大?。ㄖ蛔x)(64位系統(tǒng)、8G內(nèi)存默認(rèn)65536,16G翻倍,如此類(lèi)推)
net.core.netdev_max_backlog=10000
#每個(gè)網(wǎng)絡(luò)接口接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時(shí),允許送到隊(duì)列的數(shù)據(jù)包的最大數(shù)目。
net.netfilter.nf_conntrack_tcp_timeout_established=300
net.netfilter.nf_conntrack_buckets=655360

#關(guān)于conntrack的詳細(xì)說(shuō)明:https://testerhome.com/topics/7509

#默認(rèn)值:128指定了每一個(gè)realuserID可創(chuàng)建的inotifyinstatnces的數(shù)量上限
fs.inotify.max_user_instances=524288

#默認(rèn)值:8192指定了每個(gè)inotifyinstance相關(guān)聯(lián)的watches的上限
fs.inotify.max_user_watches=524288

二、Etcd 數(shù)據(jù)庫(kù)

1、搭建高可用的etcd集群,集群規(guī)模增大時(shí)可以自動(dòng)增加etcd節(jié)點(diǎn);

目前的解決方案是使用etcd operator來(lái)搭建etcd 集群,operator是CoreOS推出的旨在簡(jiǎn)化復(fù)雜有狀態(tài)應(yīng)用管理的框架,它是一個(gè)感知應(yīng)用狀態(tài)的控制器,通過(guò)擴(kuò)展Kubernetes API來(lái)自動(dòng)創(chuàng)建、管理和配置應(yīng)用實(shí)例。

etcd operator 有如下特性:

  • ceate/destroy: 自動(dòng)部署和刪除 etcd 集群,不需要人額外干預(yù)配置。

  • resize:可以動(dòng)態(tài)實(shí)現(xiàn) etcd 集群的擴(kuò)縮容。

  • backup:支持etcd集群的數(shù)據(jù)備份和集群恢復(fù)重建

  • upgrade:可以實(shí)現(xiàn)在升級(jí)etcd集群時(shí)不中斷服務(wù)。

2、配置etcd使用ssd固態(tài)盤(pán)存儲(chǔ);

3、設(shè)置 —quota-backend-bytes 增大etcd的存儲(chǔ)限制。默認(rèn)值是 2G;

4、需要配置單獨(dú)的 Etcd 集群存儲(chǔ) kube-apiserver 的 event。

三、Kube APIServer 配置

node節(jié)點(diǎn)數(shù)量 >= 3000, 推薦設(shè)置如下配置:

--max-requests-inflight=3000
--max-mutating-requests-inflight=1000

node節(jié)點(diǎn)數(shù)量在 1000 — 3000, 推薦設(shè)置如下配置:

--max-requests-inflight=1500
--max-mutating-requests-inflight=500

內(nèi)存配置選項(xiàng)和node數(shù)量的關(guān)系,單位是MB:

--target-ram-mb=node_nums*60

四、Pod 配置

在運(yùn)行 Pod 的時(shí)候也需要注意遵循一些最佳實(shí)踐,比如:

1、為容器設(shè)置資源請(qǐng)求和限制,尤其是一些基礎(chǔ)插件服務(wù)

spec.containers[].resources.limits.cpu
spec.containers[].resources.limits.memory
spec.containers[].resources.requests.cpu
spec.containers[].resources.requests.memory
spec.containers[].resources.limits.ephemeral-storage
spec.containers[].resources.requests.ephemeral-storage

在k8s中,會(huì)根據(jù)pod不同的limit 和 requests的配置將pod劃分為不同的qos類(lèi)別:

  • Guaranteed

  • Burstable

  • BestEffort

當(dāng)機(jī)器可用資源不夠時(shí),kubelet會(huì)根據(jù)qos級(jí)別劃分遷移驅(qū)逐pod。被驅(qū)逐的優(yōu)先級(jí):BestEffort > Burstable > Guaranteed

2、對(duì)關(guān)鍵應(yīng)用使用 nodeAffinity、podAffinity 和 podAntiAffinity 等保護(hù),使其調(diào)度分散到不同的node上。比如kube-dns 配置:

affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
-weight:100
labelSelector:
matchExpressions:
-key:k8s-app
operator:In
values:
-kube-dns
topologyKey:kubernetes.io/hostname

3、盡量使用控制器來(lái)管理容器(如 Deployment、StatefulSet、DaemonSet、Job 等)Kube-scheduler 配置

設(shè)置 —kube-api-qps=100 默認(rèn)值是 50Kube-controller-manager 配置

設(shè)置 —kube-api-qps=100 默認(rèn)值是20設(shè)置 —kube-api-burst=100 默認(rèn)值是30

作者:薛海山https://www.jianshu.com/p/e9fcc1a9eea

編輯:jq
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17088

    瀏覽量

    184077
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    243

    瀏覽量

    9062

原文標(biāo)題:Kubernetes 集群怎樣優(yōu)化?看看這5個(gè)維度

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Redis集群部署與性能優(yōu)化實(shí)戰(zhàn)

    Redis作為高性能的內(nèi)存數(shù)據(jù)庫(kù),在現(xiàn)代互聯(lián)網(wǎng)架構(gòu)中扮演著關(guān)鍵角色。作為運(yùn)維工程師,掌握Redis的部署、配置和優(yōu)化技能至關(guān)重要。本文將從實(shí)戰(zhàn)角度出發(fā),詳細(xì)介紹Redis集群的搭建、性能優(yōu)化以及監(jiān)控運(yùn)維的核心技術(shù)。
    的頭像 發(fā)表于 07-08 17:56 ?197次閱讀

    熱插拔算力集群

    熱插拔算力集群指在無(wú)需停機(jī)的情況下,動(dòng)態(tài)增減計(jì)算節(jié)點(diǎn)或硬件的算力基礎(chǔ)設(shè)施,其核心價(jià)值在于實(shí)現(xiàn)資源的彈性伸縮和業(yè)務(wù)連續(xù)性。以下從關(guān)鍵技術(shù)、應(yīng)用場(chǎng)景及優(yōu)勢(shì)三個(gè)維度分析: 一、關(guān)鍵技術(shù)支撐? 硬件熱插拔
    的頭像 發(fā)表于 06-26 09:20 ?175次閱讀

    k8s網(wǎng)絡(luò)的基本介紹

    Kubernetes網(wǎng)絡(luò)是指在Kubernetes集群中不同組件之間進(jìn)行通信和交互的網(wǎng)絡(luò)架構(gòu)。
    的頭像 發(fā)表于 06-16 13:42 ?234次閱讀

    Ubuntu K8s集群安全加固方案

    在Ubuntu系統(tǒng)上部署Kubernetes集群時(shí),若服務(wù)器擁有外網(wǎng)IP,需采取多層次安全防護(hù)措施以確保集群安全。本方案通過(guò)系統(tǒng)防火墻配置、TLS通信啟用、網(wǎng)絡(luò)策略實(shí)施和RBAC權(quán)限控制四個(gè)
    的頭像 發(fā)表于 05-12 16:17 ?224次閱讀

    Kubernetes Helm入門(mén)指南

    Helm 是 Kubernetes 的包管理工具,它允許開(kāi)發(fā)者和系統(tǒng)管理員通過(guò)定義、打包和部署應(yīng)用程序來(lái)簡(jiǎn)化 Kubernetes 應(yīng)用的管理工作。Helm 的出現(xiàn)是為了解決在 Kubernetes
    的頭像 發(fā)表于 04-30 13:42 ?2249次閱讀
    <b class='flag-5'>Kubernetes</b> Helm入門(mén)指南

    k8s集群安全機(jī)制說(shuō)明

    Kubernetes 作為一個(gè)分布式集群的管理工具,保證集群的安全性是其一個(gè)重要的任務(wù)。API Server 是
    的頭像 發(fā)表于 04-03 14:09 ?260次閱讀

    如何在基于Arm Neoverse平臺(tái)的CPU上構(gòu)建分布式Kubernetes集群

    在本文中,我們將以 X(原 Twitter)為例,演示如何在基于 Arm Neoverse 平臺(tái)的 CPU 上構(gòu)建分布式 Kubernetes 集群,以根據(jù)推文實(shí)時(shí)監(jiān)控情緒變化。如此一來(lái),你可以充分利用 Arm Neoverse 平臺(tái)的計(jì)算基礎(chǔ),獲得更好的性能、效率和出色
    的頭像 發(fā)表于 03-25 15:58 ?348次閱讀
    如何在基于Arm Neoverse平臺(tái)的CPU上構(gòu)建分布式<b class='flag-5'>Kubernetes</b><b class='flag-5'>集群</b>

    Kubernetes中部署MySQL集群

    一般情況下 Kubernetes 可以通過(guò) ReplicaSet 以一個(gè) Pod 模板創(chuàng)建多個(gè) pod 副本,但是它們都是無(wú)狀態(tài)的,任何時(shí)候它們都可以被一個(gè)全新的 pod 替換。
    的頭像 發(fā)表于 03-18 16:22 ?280次閱讀
    <b class='flag-5'>Kubernetes</b>中部署MySQL<b class='flag-5'>集群</b>

    Kubernetes Pod常用管理命令詳解

    Kubernetes Pod常用管理命令詳解
    的頭像 發(fā)表于 02-17 14:06 ?490次閱讀
    <b class='flag-5'>Kubernetes</b> Pod常用管理命令詳解

    Kubernetes:構(gòu)建高效的容器化應(yīng)用平臺(tái)

    init初始化集群,按照提示配置kubeconfig文件,它包含集群連接信息。從節(jié)點(diǎn)通過(guò)kubeadm join命令加入集群。 Pod 是 Kubernetes 中最小的可部署單元,
    的頭像 發(fā)表于 01-23 15:22 ?316次閱讀

    使用 Flexus 云服務(wù)器 X 實(shí)例部署 Kubernetes 圖形化管理平臺(tái)

    Kubernetes 將繼續(xù)優(yōu)化其穩(wěn)定性、安全性和易用性,以滿足企業(yè)級(jí)應(yīng)用的需求。同時(shí)隨著邊緣計(jì)算、AI 和大數(shù)據(jù)等技術(shù)的融合,Kubernetes 有望成為支撐下一代分布式應(yīng)用的基礎(chǔ)設(shè)施,推動(dòng)整個(gè) IT 行業(yè)的創(chuàng)新與發(fā)展。
    的頭像 發(fā)表于 01-21 16:14 ?337次閱讀
    使用 Flexus 云服務(wù)器 X 實(shí)例部署 <b class='flag-5'>Kubernetes</b> 圖形化管理平臺(tái)

    國(guó)產(chǎn)智算集群黑馬!曦源一號(hào)SADA算力集群綜合評(píng)測(cè)表現(xiàn)優(yōu)異

    穩(wěn)定性、線性度、模型支持度等多個(gè)維度均表現(xiàn)優(yōu)異。加佳科技長(zhǎng)期深耕國(guó)產(chǎn)替代數(shù)字科技的技術(shù)研發(fā)、平臺(tái)運(yùn)營(yíng)與解決方案提供。旗下曦源一號(hào)SADA萬(wàn)卡集群通過(guò)構(gòu)建開(kāi)放、標(biāo)準(zhǔn)、
    的頭像 發(fā)表于 12-25 11:16 ?866次閱讀
    國(guó)產(chǎn)智算<b class='flag-5'>集群</b>黑馬!曦源一號(hào)SADA算力<b class='flag-5'>集群</b>綜合評(píng)測(cè)表現(xiàn)優(yōu)異

    Kubernetes集群搭建容器云需要幾臺(tái)服務(wù)器?

    Kubernetes集群搭建容器云需要幾臺(tái)服務(wù)器?至少需要4臺(tái)服務(wù)器。搭建容器云所需的服務(wù)器數(shù)量以及具體的搭建步驟,會(huì)根據(jù)所選用的技術(shù)棧、業(yè)務(wù)規(guī)模、架構(gòu)設(shè)計(jì)以及安全需求等因素而有所不同。以下是一個(gè)基于
    的頭像 發(fā)表于 10-21 10:06 ?441次閱讀

    使用Velero備份Kubernetes集群

    Velero 是 heptio 團(tuán)隊(duì)(被 VMWare 收購(gòu))開(kāi)源的 Kubernetes 集群備份、遷移工具。
    的頭像 發(fā)表于 08-05 15:43 ?635次閱讀
    使用Velero備份<b class='flag-5'>Kubernetes</b><b class='flag-5'>集群</b>

    如何使用Kubeadm命令在PetaExpress Ubuntu系統(tǒng)上安裝Kubernetes集群

    Kubernetes,通??s寫(xiě)為K8s,是一個(gè)開(kāi)源的容器編排平臺(tái),旨在自動(dòng)化容器化應(yīng)用的部署、擴(kuò)展和管理。有了Kubernetes,您可以輕松地部署、更新和擴(kuò)展應(yīng)用,而無(wú)需擔(dān)心底層基礎(chǔ)設(shè)施。
    的頭像 發(fā)表于 07-15 13:31 ?1129次閱讀
    如何使用Kubeadm命令在PetaExpress Ubuntu系統(tǒng)上安裝<b class='flag-5'>Kubernetes</b><b class='flag-5'>集群</b>