国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于K8S集群如何優化的?

jf_TEuU2tls ? 來源:浩道linux ? 2023-02-06 10:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天浩道跟大家分享關于K8S集群如何優化的?以下從5個維度討論,希望給大家指明優化方向

一、節點配額和內核參數調整

對于公有云上的 Kubernetes 集群,規模大了之后很容器碰到配額問題,需要提前在云平臺上增大配額。這些需要增大的配額包括:

  • 虛擬機個數

  • vCPU 個數

  • 內網 IP 地址個數

  • 公網 IP 地址個數

  • 安全組條數

  • 路由表條數

  • 持久化存儲大小

參考gce隨著node節點的增加master節點的配置:

  • 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 表示系統級別的能夠打開的文件句柄的數量, 一般如果遇到文件句柄達到上限時,會碰到"Too many open files"或者Socket/File: Can’t open so many files等錯誤。
fs.file-max=1000000


# 配置arp cache 大小
net.ipv4.neigh.default.gc_thresh1=1024
# 存在于ARP高速緩存中的最少層數,如果少于這個數,垃圾收集器將不會運行。缺省值是128。


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


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


# 以上三個參數,當內核維護的arp表過于龐大時候,可以考慮優化


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


# 哈希表大小(只讀)(64位系統、8G內存默認 65536,16G翻倍,如此類推)
net.core.netdev_max_backlog=10000
# 每個網絡接口接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目。
net.netfilter.nf_conntrack_tcp_timeout_established=300
net.netfilter.nf_conntrack_buckets=655360


# 關于conntrack的詳細說明:https://testerhome.com/topics/7509


# 默認值: 128 指定了每一個real user ID可創建的inotify instatnces的數量上限
fs.inotify.max_user_instances=524288


# 默認值: 8192 指定了每個inotify instance相關聯的watches的上限
fs.inotify.max_user_watches=524288

二、Etcd 數據庫

1、搭建高可用的etcd集群,集群規模增大時可以自動增加etcd節點;

目前的解決方案是使用etcd operator來搭建etcd 集群,operator是CoreOS推出的旨在簡化復雜有狀態應用管理的框架,它是一個感知應用狀態的控制器,通過擴展Kubernetes API來自動創建、管理和配置應用實例。

etcd operator 有如下特性:

  • ceate/destroy: 自動部署和刪除 etcd 集群,不需要人額外干預配置。
  • resize:可以動態實現 etcd 集群的擴縮容。
  • backup:支持etcd集群的數據備份和集群恢復重建
  • upgrade:可以實現在升級etcd集群時不中斷服務。

2、配置etcd使用ssd固態盤存儲;

3、設置 —quota-backend-bytes 增大etcd的存儲限制。默認值是 2G;

4、需要配置單獨的 Etcd 集群存儲 kube-apiserver 的 event。

四、Kube APIServer 配置

node節點數量 >= 3000, 推薦設置如下配置:

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

node節點數量在 1000 — 3000, 推薦設置如下配置:

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

內存配置選項和node數量的關系,單位是MB:

--target-ram-mb=node_nums * 60

五、Pod 配置

在運行 Pod 的時候也需要注意遵循一些最佳實踐,比如:

1、為容器設置資源請求和限制,尤其是一些基礎插件服務

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中,會根據pod不同的limit 和 requests的配置將pod劃分為不同的qos類別:

  • Guaranteed

  • Burstable

  • BestEffort

當機器可用資源不夠時,kubelet會根據qos級別劃分遷移驅逐pod。被驅逐的優先級:BestEffort > Burstable > Guaranteed

2、對關鍵應用使用 nodeAffinity、podAffinity 和 podAntiAffinity 等保護,使其調度分散到不同的node上。比如kube-dns 配置:

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

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

設置 --kube-api-qps=100 默認值是 50
Kube-controller-manager 配置

設置 --kube-api-qps=100 默認值是20
設置 --kube-api-burst=100 默認值是30

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據庫
    +關注

    關注

    7

    文章

    4019

    瀏覽量

    68335
  • 數據備份
    +關注

    關注

    0

    文章

    59

    瀏覽量

    12183
  • 容器
    +關注

    關注

    0

    文章

    531

    瀏覽量

    22965

原文標題:K8S集群優化方向!我看可以從這5個維度著手~

文章出處:【微信號:浩道linux,微信公眾號:浩道linux】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    什么是 K8S,如何使用 K8S

    Kubernetes(簡稱K8S)是一個用于管理容器化應用程序的開源平臺。以下是關于K8S及其使用方法的介紹: 一、什么是 K8S 核心特點 自動化容器編排:自動處理容器的部署、擴展
    發表于 06-25 06:45

    K8s 從懵圈到熟練 – 集群網絡詳解

    導讀:阿里云 K8S 集群網絡目前有兩種方案:一種是 flannel 方案;另外一種是基于 calico 和彈性網卡 eni 的 terway 方案。Terway 和 flannel 類似
    發表于 10-14 15:06

    搭建K8s環境平臺的步驟

    1 搭建K8s環境平臺規劃1.1 單master集群1.2 多master集群
    發表于 11-04 06:03

    Docker不香嗎為什么還要用K8s

    Docker 雖好用,但面對強大的集群,成千上萬的容器,突然感覺不香了。 這時候就需要我們的主角 Kubernetes 上場了,先來了解一下 K8s 的基本概念,后面再介紹實踐,由淺入深步步為營
    的頭像 發表于 06-02 11:56 ?4103次閱讀

    簡單說明k8s和Docker之間的關系

    這篇文章主要介紹了k8s和Docker關系簡單說明,本文利用圖文講解的很透徹,有需要的同學可以研究下 最近項目用到kubernetes(以下簡稱k8sks之間有
    的頭像 發表于 06-24 15:48 ?4197次閱讀

    K8S集群服務訪問失敗怎么辦 K8S故障處理集錦

    問題1:K8S集群服務訪問失敗? ? ? 原因分析:證書不能被識別,其原因為:自定義證書,過期等。 解決方法:更新證書即可。 問題2:K8S集群服務訪問失敗? curl: (7) Fa
    的頭像 發表于 09-01 11:11 ?1.7w次閱讀
    <b class='flag-5'>K8S</b><b class='flag-5'>集群</b>服務訪問失敗怎么辦 <b class='flag-5'>K8S</b>故障處理集錦

    k8s集群環境中工作有多快

    命令就會很低效。 今天介紹3個工具會讓你在多k8s集群環境中工作的很輕松。我將從以下幾個方面來評估工具實用性: 速度 如果你有多個k8s集群可選擇,你切換
    的頭像 發表于 05-29 14:28 ?1120次閱讀
    多<b class='flag-5'>k8s</b><b class='flag-5'>集群</b>環境中工作有多快

    切換k8s上下文有多快

    use-context 命令就會很低效。 今天介紹3個工具會讓你在多k8s集群環境中工作的很輕松。我將從以下幾個方面來評估工具實用性: 速度 如果你有多個k8s集群可選擇,你切換
    的頭像 發表于 05-29 15:26 ?1402次閱讀
    切換<b class='flag-5'>k8s</b>上下文有多快

    k8s是什么意思?kubeadm部署k8s集群k8s部署)|PetaExpres

    k8s是什么意思? kubernetes簡稱K8s,是一個開源的,用于管理云平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單并且高效(powerful
    發表于 07-19 13:14 ?1715次閱讀

    K8s集群管理:為什么需要多集群、多集群的優勢是什么

    隨著K8s和云原生技術的快速發展,以及各大廠商在自己的數據中心使用K8s的API進行容器化應用編排和管理,讓應用交付本身變得越來越標準化和統一化,并且實現了與底層基礎設施的完全解耦,為多集群和混合云提供了一個堅實技術基礎。
    發表于 09-14 10:48 ?2659次閱讀
    <b class='flag-5'>K8s</b>多<b class='flag-5'>集群</b>管理:為什么需要多<b class='flag-5'>集群</b>、多<b class='flag-5'>集群</b>的優勢是什么

    混合云部署k8s集群方法有哪些?

    混合云部署k8s集群方法是首先需在本地與公有云分別建立K8s集群,并確保網絡連接。接著,配置kubeconfig文件連接兩集群,并安裝云服務
    的頭像 發表于 11-07 09:37 ?972次閱讀

    自建K8S集群認證過期

    今天使用kubectl命令查看pod信息時,一直正常運行的k8s集群突然不能訪問了,輸入任何命令都提示以下報錯。
    的頭像 發表于 02-07 12:32 ?833次閱讀

    如何通過Docker和K8S集群實現高效調用GPU

    在有GPU資源的主機安裝,改主機作為K8S集群的Node。
    的頭像 發表于 03-18 16:50 ?1214次閱讀
    如何通過Docker和<b class='flag-5'>K8S</b><b class='flag-5'>集群</b>實現高效調用GPU

    解析K8S實用命令

    前言: 作為運維工程師,掌握 Kubernetes 命令行工具是日常工作的核心技能。本文將深入解析 K8S 最實用的命令,從基礎操作到高級技巧,助你成為容器化集群管理專家。
    的頭像 發表于 07-24 14:07 ?864次閱讀

    K8s集群性能調優實戰技巧

    大多數團隊在遇到K8s性能問題時,第一反應是"加機器"。但根據我對超過50個生產集群的分析,80%的性能問題源于配置不當,而非資源不足。
    的頭像 發表于 09-08 09:36 ?785次閱讀