成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Kubernetes 集群怎樣優化?看看這5個維度

開發 前端
本文介紹了5種Kubernetes 集群優化方法。對于公有云上的 Kubernetes 集群,規模大了之后很容器碰到配額問題,需要提前在云平臺上增大配額。

 [[417381]]

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

對于公有云上的 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

參考阿里云配置:

  1. # max-file 表示系統級別的能夠打開的文件句柄的數量, 一般如果遇到文件句柄達到上限時,會碰到"Too many open files"或者Socket/File: Can’t open so many files等錯誤。 
  2.  
  3. fs.file-max=1000000 
  4.  
  5. # 配置arp cache 大小 
  6.  
  7. net.ipv4.neigh.default.gc_thresh1=1024 
  8.  
  9. # 存在于ARP高速緩存中的最少層數,如果少于這個數,垃圾收集器將不會運行。缺省值是128。 
  10.  
  11. # 保存在 ARP 高速緩存中的最多的記錄軟限制。垃圾收集器在開始收集前,允許記錄數超過這個數字 5 秒。缺省值是 512。 
  12.  
  13. net.ipv4.neigh.default.gc_thresh2=4096 
  14.  
  15. # 保存在 ARP 高速緩存中的最多記錄的硬限制,一旦高速緩存中的數目高于此,垃圾收集器將馬上運行。缺省值是1024。 
  16.  
  17. net.ipv4.neigh.default.gc_thresh3=8192 
  18.  
  19. # 以上三個參數,當內核維護的arp表過于龐大時候,可以考慮優化 
  20.  
  21. # 允許的最大跟蹤連接條目,是在內核內存中netfilter可以同時處理的“任務”(連接跟蹤條目) 
  22.  
  23. net.netfilter.nf_conntrack_max=10485760 
  24.  
  25. # 哈希表大小(只讀)(64位系統、8G內存默認 65536,16G翻倍,如此類推) 
  26.  
  27. net.core.netdev_max_backlog=10000 
  28.  
  29. # 每個網絡接口接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目。 
  30.  
  31. net.netfilter.nf_conntrack_tcp_timeout_established=300 
  32.  
  33. net.netfilter.nf_conntrack_buckets=655360 
  34.  
  35. # 關于conntrack的詳細說明:https://testerhome.com/topics/7509 
  36.  
  37. # 默認值: 128 指定了每一個real user ID可創建的inotify instatnces的數量上限 
  38.  
  39. fs.inotify.max_user_instances=524288 
  40.  
  41. # 默認值: 8192 指定了每個inotify instance相關聯的watches的上限 
  42.  
  43. 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, 推薦設置如下配置:

  1. --max-requests-inflight=3000 
  2.  
  3. --max-mutating-requests-inflight=1000 

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

  1. --max-requests-inflight=1500 
  2.  
  3. --max-mutating-requests-inflight=500 

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

  1. --target-ram-mb=node_nums * 60 

五、Pod 配置

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

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

  1. spec.containers[].resources.limits.cpu 
  2.  
  3. spec.containers[].resources.limits.memory 
  4.  
  5. spec.containers[].resources.requests.cpu 
  6.  
  7. spec.containers[].resources.requests.memory 
  8.  
  9. spec.containers[].resources.limits.ephemeral-storage 
  10.  
  11. 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 配置:

  1. affinity: 
  2.  
  3. podAntiAffinity: 
  4.  
  5. requiredDuringSchedulingIgnoredDuringExecution: 
  6.  
  7. - weight: 100 
  8.  
  9. labelSelector: 
  10.  
  11. matchExpressions: 
  12.  
  13. - key: k8s-app 
  14.  
  15. operator: In 
  16.  
  17. values: 
  18.  
  19. - kube-dns 
  20.  
  21. 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

 

責任編輯:張燕妮 來源: 高效運維
相關推薦

2020-04-10 20:56:32

Python數據技術

2024-12-31 12:20:00

Redis復制延遲數據庫

2021-03-10 08:16:06

Nacos集群搭建微服務

2023-07-27 08:40:45

PawSQL數據庫

2021-07-19 10:33:17

B端設計移動端交互設計

2023-05-29 07:27:25

2020-12-21 09:40:16

數據庫工具技術

2020-12-07 09:15:00

JavaScript數組 reduce

2015-07-01 09:24:00

物聯網

2020-08-25 07:48:17

Kubernetes集群系統

2021-04-25 11:00:37

Kubernetes優化Linux

2024-08-20 08:00:00

2022-04-26 08:10:33

MySQL存儲InnoDB

2023-10-30 08:18:21

內存泄漏Java

2021-07-13 12:21:34

PythonRPC通信

2020-07-27 18:52:34

Kubernetes集群工具

2019-09-27 16:32:17

虛擬機LinuxDocker

2020-03-25 08:00:32

Kubernetes節點工作

2020-10-22 07:44:03

Tomcat調優JVM

2019-02-21 05:38:13

Kubernetes容器云計算
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 大象一区| 在线播放国产一区二区三区 | 成人在线观看网址 | www.日本在线 | 中文字幕国产日韩 | 午夜av在线 | 久久天天躁狠狠躁夜夜躁2014 | 精品国产乱码一区二区三区a | 国产精品99久久久久久www | 欧美福利视频 | 国产午夜高清 | 色婷婷av久久久久久久 | 成年无码av片在线 | 伦理午夜电影免费观看 | www.夜夜草| 精品久久久久久久久久 | 国产欧美精品一区二区三区 | 亚洲福利 | 91精品国产91久久综合桃花 | 亚洲精品国产精品国自产在线 | 91久久国产精品 | 天天干天天色 | 久久综合久 | 天堂免费看片 | 亚洲日本成人 | 天天艹逼网 | 日本久久精品视频 | 久久99蜜桃综合影院免费观看 | 久久国产一区 | 国产精品毛片一区二区三区 | 国产精品我不卡 | 欧美日韩一区在线播放 | 国产一区二区久久久 | 国产成人精品免费视频大全最热 | 91精品国模一区二区三区 | 亚洲精品一区在线 | 91最新入口 | 国产91精品久久久久久久网曝门 | 久久久网 | 麻豆亚洲 | 久久精品国产免费一区二区三区 |