精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Kubernetes 3年生產中我們所學到的東西

云計算
我們于2017年開始構建第一個基于1.9.4版本的Kubernetes集群。至今,我們已經有兩個集群,一個集群在裸機RHEL VM上運行,另一個集群在公有云AWS EC2上運行。

[[343163]]

本文轉載自微信公眾號「新鈦云服」,作者祝祥 。轉載本文請聯系新鈦云服公眾號。  

我們于2017年開始構建第一個基于1.9.4版本的Kubernetes集群。至今,我們已經有兩個集群,一個集群在裸機RHEL VM上運行,另一個集群在公有云AWS EC2上運行。

今天,我們的Kubernetes集群由分布在多個數據中心的400多個虛擬機組成。該平臺承載著高度可用的核心應用程序和系統,管理擁有近400萬個活躍用戶的的大型實時系統。

Kubernetes最終使我們的運維變得更輕松,但是這一過程是艱辛的,是范式的轉變。不僅僅是我們的技能和工具有了徹底的轉變,而且我們的設計和思維也得到了徹底的轉變。我們必須采用多種新技術,并進行大量的投入,以提高團隊和基礎設施的檔次和技能。

回顧三年來,Kubernetes在我們的生產中運行了三年,這也是本文將會將的重點內容。

1. 基于Java的APP容器化問題

當涉及微服務和容器化時,很多人都傾向于避免使用Java,這主要是由Java不太友好的內存管理造成的。但是,現在情況發生了變化,并且Java的容器兼容性在過去幾年中得到了很大的改善。畢竟,當前大部分的系統都有使用Java程序的 Apache Kafka作為中間件,另外Elasticsearch通常也是在Java程序上運行。

回顧2017-2018年度,我們有一些應用程序在Java 8上運行。它們常常難以理解像Docker這樣的容器環境,并且由于堆內存問題和異常的垃圾收集而崩潰。我們了解到,這是由于JVM無法支持Linux cgroups和namespaces,后者是容器化技術的核心。

但是,從那時起,Oracle一直在不斷提高Java在容器領域的兼容性。甚至Java 8的后續補丁都引入了實驗性JVM標志來解決這些問題:XX:+UnlockExperimentalVMOptions和XX:+UseCGroupMemoryLimitForHeap。

但是,盡管有了這些改進,但不可否認的是,與Python或Go等同類產品相比,Java仍因占用內存和啟動時間慢而名聲不佳。主要是由JVM的內存管理引起的。

今天,如果我們必須選擇Java,我們會確保它的版本是11或更高。我們的Kubernetes內存限制會在比JVM最大堆內存(-Xmx)多1GB,以獲得足夠的空間。也就是說,如果JVM使用8GB作為堆內存,我們對應用程序的Kubernetes資源限制將是9GB。這樣,應用將會更加健康。

2. Kubernetes升級

Kubernetes生命周期管理(如升級或補丁修復)非常麻煩,尤其是在裸機或虛擬機上構建了自己的集群時。對于升級,我們已經意識到最簡單的方法是用最新版本重新構建一個集群,并將工作負載從舊的集群遷移到新的集群。進行節點的升級相對而言會更復雜,且結果無法預料。Kubernetes有多個與其一起協調工作的組件需要與Kubernetes升級保持一致。從Docker到像Calico或Flannel這樣的CNI插件,你需要小心地把它們拼湊在一起才能工作。盡管像Kubespray、Kubeone、Kops和Kubeaws這樣的項目使它更容易維護,但它們都有各自的缺點,且不太通用。

我們在RHEL VM上使用Kubespray構建了集群。Kubespray非常不錯,它有基于ansible的構建、添加和刪除新節點、升級版本的playbooks,以及我們在生產中操作Kubernetes所需的幾乎所有內容。但是,升級的playbook帶了一個免責聲明,可防止我們跳過次要版本。因此,必須經過所有中間版本才能達到目標版本。簡而言之,Kubespray不支持跨版本升級。

以上可得出的結論是,如果您打算使用Kubernetes或已經在使用Kubernetes,請考慮生命周期管理。構建和運行集群相對容易一些,但是Kubernetes的生命周期管理則相對復雜,涉及內容較多。

3.構建和部署

準備重新設計整個構建和部署的pipelines。我們的構建過程和部署必須經歷一個基于Kubernete的完整轉型。不僅在Jenkins pipelines中進行了大量的重組,還使用了諸如Helm這樣的新工具,制定新的git流和構建策略,docker 鏡像的tag標簽,以及版本化Helm chart。

您不僅需要維護代碼,還需要維護Kubernetes部署文件,Docker文件,Docker鏡像,Helm Chart的策略,并設計一種將所有這些鏈接在一起的方法。

經過幾次迭代,我們決定采用以下設計。

應用程序代碼及其helm chart位于單獨的git存儲庫中。這使我們可以分別對它們進行版本控制。

然后,我們將helm chart版本與應用程序版本一起保存,并使用它來跟蹤發布。因此,例如,使用進行app-1.2.0部署charts-1.1.0。如果僅更改Helm values文件,則僅更改chart的補丁程序版本。(例如,從1.1.0到1.1.1)。所有這些版本均由每個存儲庫中的發行說明規定RELEASE.txt。

我們與構建或修改其代碼的Apache Kafka或Redis之類的系統應用程序的工作方式有所不同。也就是說,我們沒有兩個git存儲庫,因為Docker tag只是Helm chart版本控制的一部分。如果我們曾經更改了docker tag進行升級,我們將在chart標簽中增加主要版本號。

4.Liveliness和Readiness探針(雙刃劍)

Kubernetes的liveliness和readiness探測是自動解決系統問題的的優秀特性。他們可以在發生故障時重新啟動容器,并將流量從不正常的實例中轉移出去。但在某些故障情況下,這些探測可能成為一把雙刃劍,影響應用程序的啟動和恢復,尤其是消息中間件或數據庫等有狀態應用程序。

我們的kafka系統就是受害者。我們運行了一個3 broker 3 zookeeper的狀態集群,replicationFactor 為3,minInSyncReplica為2。當Kafka在意外系統故障或崩潰后啟動時,就會發生問題。這導致它在啟動期間運行其他腳本來修復損壞的索引,根據嚴重程度,該過程可能需要10到30分鐘。由于增加了時間,Liveliness將不斷失敗,從而向Kafka發出終止信號以重新啟動。這阻止了Kafka修改索引并完全啟動。

唯一的解決方案是配置initialDelaySeconds liveliness探針設置,以在容器啟動后延遲探測。但是,當然,問題在于很難對此加以說明。有些恢復甚至需要一個小時,因此我們需要提供足夠的空間來解決這一問題。但是增加的越多initialDelaySeconds,恢復速度就越慢,因為在啟動失敗期間,Kubernetes需要更長的時間來重新啟動容器。

因此,擇優的方法是評估initialDelaySeconds字段的值,以便更好地平衡您在Kubernetes中尋求的彈性和應用程序在所有故障情況下(磁盤故障、網絡故障、系統崩潰等)成功啟動所需的時間

更新*:如果您使用的是最新版本,Kubernetes引入了第三種探針類型,稱為“啟動探針”,以解決此問題*](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)*。在1.16的alpha版本和1.18的beta版本后是可用的。

在容器啟動之前,啟動探針將禁用readiness與liveliness檢查,以確保應用程序的啟動不會中斷。

5.對外的External的IP

我們了解到,使用external IP暴露服務會對內核的連接跟蹤機制造成巨大負荷。除非規劃詳細,考慮周全,否則一旦規模上去,那么它只會崩潰。

我們的集群運行在基于Calico CNI和BGP上,作為我們在Kubernetes內部的路由協議,也可以與邊緣路由器對接。對于Kubeproxy,我們使用IP Tables模式。我們在Kubernetes中托管著龐大的服務,該服務通過external IP對外暴露,每天處理數百萬個連接。由于使用來自軟件定義網絡的SNAT和masquerading,Kubernetes需要一種機制來跟蹤所有這些邏輯流。為此,它使用內核的Conntrack 與 netfilter工具來管理靜態IP的這些外部連接,然后將其轉換為內部服務IP,最后轉換為您的pod IP。轉發過程全部通過conntrack表和IP表完成。

然而,這個conntrack表有其局限性。一旦達到這個限制,Kubernetes集群(底層的操作系統內核)將無法再接受新的連接。在RHEL上,你可以這樣檢查。

  1. $ sysctl net.netfilter.nf_conntrack_count net.netfilter.nf_conntrack_maxnet.netfilter.nf_conntrack_count = 167012 
  2. net.netfilter.nf_conntrack_max = 262144 

解決這一問題的一些方法是使用邊緣路由器連接多個節點,這樣您的靜態IP的傳入連接遍及整個群集。因此,如果您的集群有大量的機器,那么累積起來就可以有一個大的conntrack表來處理大量傳入的連接。

早在2017年成立之初,這一切就讓我們望而卻步,但最近,Calico在2019年對此進行了詳細研究(https://www.projectcalico.org/when-linux-conntrack-is-no-longer-your-friend/)。

6.您真的需要Kubernetes嗎?

三年過去了,我們仍然每天都在不斷地發現和學習新的東西。kubernetns是一個復雜的平臺,有其自身的一系列挑戰,特別是構建和維護環境方面的。它將改變你的設計、思維、架構,并將需要提高你的團隊能力以滿足架構轉型。

然而,如果你在云端并且能夠將Kubernetes用作“service”,它可以減輕平臺維護帶來的大部分開銷,例如“如何擴展內部網絡CIDR?”。或“如何升級我的Kubernetes版本?”

今天,我們意識到你需要問自己的第一個問題是“你真的需要Kubernetes嗎?”。這可以幫助您評估您所遇到的問題以及Kubernetes解決該問題的重要性。

Kubernetes轉型并沒有想象中的那么簡單,那么廉價。您為此付出的代價必須真正證明“您的”應用及其如何利用該平臺。如果滿足這些條件,那么Kubernetes可以極大地提高您的生產力。

記住,為了技術而技術是沒有意義的。

原文:https://medium.com/better-programming/3-years-of-kubernetes-in-production-heres-what-we-learned-44e77e1749c8

 

責任編輯:武曉燕 來源: 新鈦云服
相關推薦

2021-08-08 11:10:23

Kubernetes工具容器

2020-09-14 15:30:23

開發技能代碼

2025-07-21 11:50:20

JavaJVMCPU

2021-11-17 09:00:00

Kubernetes集群容器

2020-10-13 18:10:46

Kubernetes容器化云計算

2011-03-04 13:59:45

英特爾450mm晶圓

2021-02-27 09:26:54

Kubernetes容器化云計算

2016-09-14 18:07:32

2013-06-27 10:31:39

2012-07-23 09:58:50

代碼程序員

2017-12-21 08:39:25

CIOAzure云虛擬機區塊鏈

2019-10-25 16:32:12

LinuxLinux QQQQ

2019-12-19 15:08:09

程序員技能開發者

2023-10-16 20:46:57

ChatGPT

2022-04-06 11:18:46

SpringBoot代碼實踐

2020-09-21 09:34:20

大數據

2025-03-03 03:40:00

2010-04-23 09:30:18

國產龍芯服務器

2015-06-01 06:42:50

開源公司三大教訓
點贊
收藏

51CTO技術棧公眾號

www.xxxx欧美| 网站一区二区| 99这里只有久久精品视频| 亚洲视频在线观看| 182午夜在线观看| 精品国内二区三区| 亚洲福利视频在线| 免费看黄色一级大片| 成人在线网址| 国产一区二区三区四区五区美女| 欧美精品免费在线| 久久久久亚洲av无码专区桃色| 最近在线中文字幕| 亚洲色图欧美偷拍| 国内精品国语自产拍在线观看| 久草国产在线视频| 久久久久久毛片免费看| 精品久久久久久久久中文字幕| 天天综合狠狠精品| 成人免费观看在线视频| 久热精品在线| 久久免费国产精品1| 一二三四国产精品| 精品成人自拍视频| 91精品国产91综合久久蜜臀| 国产成人精品无码播放| 第四色日韩影片| 久久久综合视频| 国产精品一区二区欧美| 影音先锋国产在线| 裸体素人女欧美日韩| www.日韩欧美| 无码国产69精品久久久久同性| 日韩欧乱色一区二区三区在线| 婷婷夜色潮精品综合在线| 偷拍盗摄高潮叫床对白清晰| 美州a亚洲一视本频v色道| 韩国成人精品a∨在线观看| 欧美一级高清免费| 天天操天天射天天爽| 欧美国产日本| 久久精品男人天堂| 少妇视频一区二区| 亚洲三级精品| 精品国产99国产精品| 少妇高潮一69aⅹ| 精品视频在线一区| 欧美亚洲尤物久久| 国产v亚洲v天堂无码久久久 | avove在线播放| 99久久精品费精品国产风间由美| 亚洲人成啪啪网站| 野花社区视频在线观看| 日韩欧美影院| 亚洲美女av在线| 久久久精品人妻无码专区| 日韩三级av高清片| 欧美日本视频在线| 国产一区二区在线免费播放| 日本黄色免费在线| 亚洲综合丁香婷婷六月香| 亚洲精品电影在线一区| 1024视频在线| 亚洲色图视频网站| 看全色黄大色大片| 性国产高清在线观看| 尤物视频一区二区| 大地资源网在线观看免费官网| 91中文在线| 中文字幕一区二区日韩精品绯色| 亚洲.欧美.日本.国产综合在线| av在线中文| 亚洲欧美日韩久久精品| 欧美日韩在线免费观看视频| 一级毛片视频在线| 一区二区三区波多野结衣在线观看| 日本福利视频网站| 亚洲小少妇裸体bbw| 狠狠色噜噜狠狠狠狠97| www.四虎成人| 国产精品99| 日韩无一区二区| 97超碰人人看| 五月天亚洲一区| 国产视频综合在线| 小向美奈子av| 亚洲无线一线二线三线区别av| 51久久精品夜色国产麻豆| 亚洲天堂一区在线| 美女高潮久久久| 91在线观看免费网站| 欧美综合视频在线| 日本一区二区视频在线| 亚洲二区自拍| 久久五月精品中文字幕| 欧美日韩另类在线| 亚洲一二三区av| 91成人福利| 一区二区三区高清国产| 国产免费无码一区二区视频| 午夜在线一区二区| 亚洲a中文字幕| 神马电影在线观看| 久久99精品久久| 亚洲一区在线| 欧美激情综合色| 中文区中文字幕免费看| 国产999精品久久久久久绿帽| 久久亚洲高清| a黄色片在线观看| 欧美特级www| 不卡的一区二区| 秋霞综合在线视频| 久久网福利资源网站| 精品国产一区二区三区四| 免费一级片91| 激情伦成人综合小说| 日本视频在线播放| 色综合久久天天| 国产吃瓜黑料一区二区| 日韩在线视频精品| 26uuu久久噜噜噜噜| 最近国语视频在线观看免费播放| 成人黄色网址在线观看| 欧美日韩无遮挡| 国产激情视频在线看| 在线不卡a资源高清| 亚洲av综合一区二区| 激情视频一区| 91老司机在线| 午夜老司机在线观看| 色婷婷精品大在线视频| 影音先锋资源av| 欧美黄色一区二区| 国产精品丝袜久久久久久不卡| 亚洲国产视频一区二区三区| 久久久久久99久久久精品网站| 性一交一乱一伧国产女士spa| 国产精品一区二区精品| 国产亚洲精品久久久久久| 日本高清www免费视频| 国产精品一区三区| 在线观看成人av电影| 亚洲电影有码| 在线观看亚洲视频| 亚洲精品国产无码| 久久久精品天堂| 免费在线观看日韩视频| 青青一区二区| 欧洲美女免费图片一区| 午夜精品一二三区| 一区二区三区不卡视频| 日本少妇一级片| 国产精品扒开腿做爽爽爽软件| 91在线看www| 免费电影网站在线视频观看福利| 欧美日韩精品一区二区三区四区| 久久丫精品国产亚洲av不卡 | 91传媒免费视频| 成人四虎影院| 在线观看精品国产视频| 亚洲国产精品久久久久婷蜜芽| 久久久久国产精品夜夜夜夜夜| 美女精品一区二区| 一本二本三本亚洲码 | 亚洲黄页一区| 国产精品乱码| 精品人人视频| 亚洲午夜精品久久久久久性色 | 日本vs亚洲vs韩国一区三区二区 | 99久久99久久精品国产片| 在线观看免费版| 欧美日韩国产乱码电影| 全程偷拍露脸中年夫妇| www.亚洲人| 午夜dv内射一区二区| 日本一区二区在线看| 91久久久久久久久| 123区在线| 永久免费精品影视网站| 91av久久久| 亚洲一区欧美一区| 熟女俱乐部一区二区视频在线| 久久久亚洲一区| 黄色www在线观看| 国产欧美视频在线| 欧美孕妇与黑人孕交| 国产区视频在线| 日韩三级中文字幕| 久久夜色精品亚洲| 国产精品免费av| 亚洲一区二区三区四区av| 视频一区视频二区中文字幕| 亚洲人成网站在线观看播放| 亚洲视频国产| 国产精品视频永久免费播放| av在线播放观看| 亚洲一区www| 性中国xxx极品hd| 在线观看一区二区视频| 日本一二三区在线观看| 成人久久久精品乱码一区二区三区| 韩国一区二区av| 国自产拍偷拍福利精品免费一 | 三级黄视频在线观看| 欧美日韩久久不卡| 国产又黄又猛又粗又爽| 一区二区在线观看av| 成年人在线免费看片| 粉嫩av一区二区三区| 欧美男女交配视频| 国产精品草草| 99热一区二区三区| 精品视频免费在线观看| 国产综合 伊人色| 麻豆久久一区| 国产又爽又黄的激情精品视频 | 亚洲国产精品日韩专区av有中文| 欧美激情专区| 北条麻妃在线一区二区免费播放| 国产日韩欧美夫妻视频在线观看| 国产777精品精品热热热一区二区| 在线日韩精品视频| 男男激情在线| 亚洲精品久久久久| 99国产精品久久久久久久成人| 日本道精品一区二区三区| 国产一级在线观看视频| 国产精品久久久久久久久果冻传媒| 国产伦精品一区二区三区精品 | 蜜桃色一区二区三区| 日韩国产精品91| 日韩欧美一区二| 在线免费观看欧美| 国产女人18毛片| 久久性感美女视频| 日韩一区二区三区资源| 精品影片在线观看的网站| 精品一区二区国产| 红杏成人性视频免费看| 肥熟一91porny丨九色丨| 国产精品亚洲一区二区在线观看| 成人精品视频在线| 91成人小视频| 亚洲伊人久久综合| 欧美久久亚洲| 91久久爱成人| 91嫩草精品| 91影院在线免费观看视频| 国产精品igao视频网网址不卡日韩| 国产精品一区二区久久| 秋霞国产精品| 国产精品免费视频久久久| 成人啊v在线| 国产日韩欧美中文在线播放| 国产亚洲精彩久久| 成人av色在线观看| 日韩激情综合| 国产日韩一区欧美| 婷婷成人在线| 日本高清不卡一区二区三| 伊人久久大香线蕉综合网蜜芽| 欧美日韩在线一区二区三区| 精品一区二区三区的国产在线观看| 视频一区二区综合| 91精品啪在线观看国产81旧版| 精品国产三级a∨在线| 国一区二区在线观看| 1024精品视频| 日韩精品一二三区| 日韩精品无码一区二区三区免费| 久久精品国产免费| 久久久久免费精品| 国模一区二区三区白浆| 中国xxxx性xxxx产国| 国产丝袜欧美中文另类| 欧美另类videoxo高潮| 亚洲国产精品久久人人爱蜜臀 | 免播放器亚洲| 亚洲精品手机在线观看| 成人中文字幕电影| 无套内谢大学处破女www小说| 久久久99精品久久| 国产精品麻豆一区| 亚洲五月六月丁香激情| 五月天婷婷导航| 欧美一二三四在线| 欧洲毛片在线| 亚洲欧洲国产精品| 91九色在线porn| 久久久久久尹人网香蕉| 亚洲最大网站| 亚洲japanese制服美女| 精品一区在线| 日韩视频在线视频| 蜜臀av性久久久久蜜臀av麻豆| 日韩一级免费片| 国产剧情一区二区| 最近中文字幕在线mv视频在线| 亚洲丝袜美腿综合| 国产亚洲欧美在线精品| 欧美一区二区在线免费播放| 在线免费a视频| 亚洲国产精品视频在线观看| 午夜福利一区二区三区| 久久精品视频一| 欧美成人影院| 国产精品三区www17con| 香蕉av一区二区| 欧美综合在线观看视频| 国产精品中文有码| 手机看片国产日韩| 亚洲mv大片欧洲mv大片精品| 97超碰中文字幕| 国产亚洲欧美aaaa| 日本在线播放一二三区| 国产有码在线一区二区视频| 国产一区二区三区天码| 天天做天天躁天天躁| 九色综合国产一区二区三区| 三级网站在线免费观看| 夜夜嗨av一区二区三区| 国产农村老头老太视频| 一区二区三区四区在线观看视频| 成人av福利| 成人黄色大片在线免费观看| 国产99久久| 欧美在线观看www| 成人网男人的天堂| avove在线播放| 在线综合亚洲欧美在线视频| 天堂成人在线| 欧美一二三视频| 麻豆精品av| 黄色片免费在线观看视频| 美女视频黄频大全不卡视频在线播放| 四虎影成人精品a片| 欧美性猛交丰臀xxxxx网站| 日韩在线观看视频一区二区三区 | 日本一级特级毛片视频| 欧美视频一区二区在线观看| 九色视频在线播放| 日韩av免费在线播放| 亚洲一二av| 国产精品国三级国产av| 东方aⅴ免费观看久久av| 久久精品国产亚洲av香蕉| 欧美www视频| 精品自拍一区| 亚洲综合中文字幕68页| 欧美 日韩 国产一区二区在线视频| 樱花草www在线| 国产精品精品国产色婷婷| 国产又大又粗又长| 麻豆国产精品va在线观看不卡 | 国产精品免费看一区二区三区| 午夜亚洲福利| 亚洲av成人精品一区二区三区| 亚洲国产精品久久久男人的天堂 | 中文字幕亚洲精品一区| 日韩精品视频在线免费观看| 成人小电影网站| 亚洲欧美日韩国产yyy| 国产在线视视频有精品| 自拍偷拍第9页| 精品国产一区二区精华| 嗯啊主人调教在线播放视频| 日本不卡在线观看| 久久er精品视频| 国产亚洲欧美精品久久久久久| 亚洲高清福利视频| 亚洲第一会所| 米仓穗香在线观看| 99视频一区二区| 一级一级黄色片| 欧美成人免费全部| 午夜欧洲一区| 欧美美女一级片| 亚洲国产视频在线| 国产高清在线看| 91亚洲精品久久久| 亚洲网站在线| 少妇太紧太爽又黄又硬又爽小说 | 欧美一级在线亚洲天堂| 久久超级碰碰| 牛夜精品久久久久久久| 亚洲你懂的在线视频| 婷婷国产在线| 亚洲a中文字幕| 天堂精品中文字幕在线| 国产精品精品软件男同| 精品精品国产高清一毛片一天堂| 美脚恋feet久草欧美| 好吊色视频988gao在线观看| 91视频观看免费| 国产乱淫片视频| 国产成人精品午夜| 黄色免费成人| 自拍偷拍第9页| 亚洲图中文字幕|