k8s高可用部署:keepalived + haproxy

最近依照网上不少文章部署K8s高可用集群,遇到了一些麻烦,在这里记录下来。

根据K8s官方文档将HA拓扑分为两种,Stacked etcd topology(堆叠ETCD)和External etcd topology(外部ETCD)。 https://kubernetes.cn/docs/setup/production-environment/tools/kubeadm/ha-topology/#external-etcd-topology

堆叠ETCD : 每个master节点上运行一个apiserver和etcd, etcd只与本节点apiserver通信。

外部ETCD : etcd集群运行在单独的主机上,每个etcd都与apiserver节点通信。

官方文档主要是解决了高可用场景下apiserver与etcd集群的关系, 三master节点防止单点故障。但是集群对外访问接口不可能将三个apiserver都暴露出去,一个挂掉时还是不能自动切换到其他节点。官方文档只提到了一句“使用负载均衡器将apiserver暴露给工作程序节点”,而这恰恰是生产环境中需要解决的重点问题。

Notes: 此处的负载均衡器并不是kube-proxy,此处的Load Balancer是针对apiserver的。

下面以一个实验验证高可用性。准备三台机器以及一个vip(阿里云,openstack等都有提供)。

haproxy提供高可用性,负载均衡,基于TCP和HTTP的代理,支持数以万记的并发连接。 https://github.com/haproxy/haproxy
haproxy可安装在主机上,也可使用docker容器实现。文本采用第二种。

创建配置文件/etc/haproxy/haproxy.cfg,重要部分以中文注释标出:

在三个节点启动haproxy

keepalived是以VRRP(虚拟路由冗余协议)协议为基础, 包括一个master和多个backup。 master劫持vip对外提供服务。master发送组播,backup节点收不到vrrp包时认为master宕机,此时选出剩余优先级最高的节点作为新的master, 劫持vip。keepalived是保证高可用的重要组件。

keepalived可安装在主机上,也可使用docker容器实现。文本采用第二种。( https://github.com/osixia/docker-keepalived )

配置keepalived.conf, 重要部分以中文注释标出:

启动keepalived:

查看keepalived master容器日志:

查看master vip:

可以看到vip已绑定到keepalived master

下面进行破坏性测试:

暂停keepalived master节点haproxy

查看keepalived master日志

可以看到haproxy检测失败,priority降低,同时另一节点10.53.61.195 priority 比master节点高,master置为backup

查看10.53.61.195 keepalived日志:

可以看到10.53.61.195被选举为新的master。

至此高可用实验完成,接下来就是使用kubeadm安装k8s组件,这里就不展开了。



  • k8s楂樺彲鐢ㄩ儴缃:keepalived + haproxy
    绛旓細keepalived鏄互VRRP(铏氭嫙璺敱鍐椾綑鍗忚)鍗忚涓哄熀纭, 鍖呮嫭涓涓猰aster鍜屽涓猙ackup銆 master鍔寔vip瀵瑰鎻愪緵鏈嶅姟銆俶aster鍙戦佺粍鎾紝backup鑺傜偣鏀朵笉鍒皏rrp鍖呮椂璁や负master瀹曟満锛屾鏃堕夊嚭鍓╀綑浼樺厛绾ф渶楂樼殑鑺傜偣浣滀负鏂扮殑master, 鍔寔vip銆俴eepalived鏄繚璇楂樺彲鐢鐨勯噸瑕佺粍浠躲俴eepalived鍙畨瑁呭湪涓绘満涓婏紝涔熷彲浣跨敤docker瀹瑰櫒瀹...
  • 楂樺彲鐢kubernetes闆嗙兢鎼缓
    绛旓細k8s闆嗙兢楂樺彲鐢锛屼竴鑸槸etcd锛宬ube-apiserver锛宬ube-controller-manager锛宬ube-scheduler鏈嶅姟缁勪欢鐨勯珮鍙敤銆傝鍒掞細3涓猰aster鑺傜偣锛2涓獁orker鑺傜偣锛屼娇鐢╧eepalived+haproxy鍋氶珮鍙敤 涓銆佸墠鏈熺幆澧冨噯澶 Kubernetes 1.8寮濮嬭姹傚叧闂郴缁熺殑Swap锛屽鏋滀笉鍏抽棴锛岄粯璁ら厤缃笅kubelet灏嗘棤娉曞惎鍔ㄣ傛柟娉曚竴 閫氳繃kubelet鐨勫惎鍔ㄥ弬鏁扳揻a...
  • 浣跨敤kubeadm鎼缓楂樺彲鐢鐨K8S闆嗙兢(2022骞1鏈堜翰娴嬫湁鏁)
    绛旓細kubeadm鏄畼鏂圭ぞ鍖烘帹鍑虹殑涓涓敤浜庡揩閫熼儴缃瞜ubernetes闆嗙兢鐨勫伐鍏枫傝繖涓伐鍏疯兘閫氳繃涓ゆ潯鎸囦护瀹屾垚涓涓猭ubernetes闆嗙兢鐨閮ㄧ讲锛鍦ㄥ紑濮嬩箣鍓嶏紝閮ㄧ讲Kubernetes闆嗙兢鏈哄櫒闇瑕佹弧瓒充互涓嬪嚑涓潯浠讹細3.1 瀹夎鐩稿叧鍖呭拰keepalived 3.2閰嶇疆master鑺傜偣 master1鑺傜偣閰嶇疆 master2鑺傜偣閰嶇疆 3.3 鍚姩鍜屾鏌 鍦ㄤ袱鍙癿aster鑺傜偣閮芥墽琛 鍚姩鍚...
  • 浣跨敤kube-vip閮ㄧ讲楂樺彲鐢↘8S闆嗙兢
    绛旓細鐩墠楂樺彲鐢ㄩ儴缃鏂瑰紡 1.haproxy+keepalived锛堝鏉傦級2.sealos锛堜竴閿儴缃诧紝鐩墠楂樼増鏈簳灞備娇鐢ㄧ殑鏄痗ontainerd锛3.kubeadm+kube-vip锛堢伒娲伙紝鏂逛究锛夋湰鏂囦娇鐢ㄧ涓夌鏂瑰紡锛K8S鐗堟湰1.20.4 鐜锛歝entos7.6 m1-192.168.50.201 m2-192.168.50.202 m3-192.168.50.203 vip-192.168.50.200 涓夊彴鏈嶅姟鍣ㄥ潎闇瑕...
  • 淇濆绾k8s闆嗙兢瀹夎鏁欑▼
    绛旓細闆嗙兢楂樺彲鐢細鑰冭檻鍫嗗彔鎺у埗骞抽潰鎴栧閮╡tcd鑺傜偣锛屽疄鐜伴泦缇ょ殑楂樺彲鐢ㄦс 4. 楂樼骇鍔熻兘鎵╁睍 Dashboard涓庤闂帶鍒讹細瀹夎骞堕厤缃甂ubernetes Dashboard锛岃缃甆odePort鏈嶅姟浠ヤ緵澶栭儴璁块棶銆 鐩戞帶涓庤礋杞藉潎琛锛氶儴缃Nginx+Keepalived锛屽疄鐜k8s-api-server鐨勯珮鍙敤鎬с 閮ㄧ讲宸ュ叿涓庣鐞嗭細浣跨敤Helm瀹夎鍜岀鐞咾ubernetes搴旂敤...
  • 浣跨敤RKE鐨勬柟寮忓揩閫閮ㄧ讲K8S闆嗙兢
    绛旓細涓銆佸熀纭鐭ヨ瘑涓庡噯澶囧伐浣 瑕侀氳繃RKE锛圧ancher Kubernetes Engine锛夎交鏉閮ㄧ讲楂樺彲鐢Kubernetes闆嗙兢锛岄鍏堢‘淇濇弧瓒充互涓嬫潯浠讹細1.1 瀹夎瑕佹眰 - 鎿嶄綔绯荤粺锛欳entOS 7.6锛屽缓璁嚦灏2GB RAM銆2涓狢PU鍜30GB纭洏銆- 缃戠粶鐜锛氱‘淇濇湇鍔″櫒闂寸殑缃戠粶浜掗氾紝鑳借闂缃戙- 绯荤粺璋冩暣锛氱鐢╯wap鍒嗗尯锛屼紭鍖栫郴缁熸ц兘銆1.2 鐜...
  • K8S楂樺彲鐢涔婼ealos
    绛旓細Sealos 鏄竴涓 Go 璇█寮鍙戠殑绠鍗曞共鍑涓旇交閲忕殑 Kubernetes 闆嗙兢閮ㄧ讲宸ュ叿锛 Sealos 鑳藉緢濂界殑鏀寔鍦ㄧ敓浜х幆澧冧腑閮ㄧ讲楂樺彲鐢鐨 Kubernetes 闆嗙兢銆傛棤璁烘槸閫氳繃 KeepAlived 杩樻槸 HAProxy 杩涜楂樺彲鐢ㄩ泦缇よ皟搴﹂兘浼氬瓨鍦ㄤ互涓嬩竴浜涘姡鍔裤係ealos 楂樺彲鐢ㄥ疄鐜版槸閫氳繃鏈湴璐熻浇鏂瑰紡瀹屾垚鐨勩傛湰鍦拌礋杞藉疄鐜版柟寮忔湁澶氱锛屾瘮濡傦細 IPVS 銆...
  • k8s鏄粈涔?
    绛旓細浠涔堟槸k8s锛熶綔涓轰竴绉嶅鍣ㄧ紪鎺掑伐鍏凤紝k8s锛圞ubernetes锛変笉浠呰兘澶熺鐞嗗簲鐢ㄧ殑鏁翠釜鐢熷懡鍛ㄦ湡锛岃繕鑳藉鎻愪緵楂樺彲鐢鎬с佽嚜鍔ㄦ墿灞曘佸揩閫閮ㄧ讲鍜屾洿鏂扮瓑鍔熻兘銆傚畠鑳藉鑷姩澶勭悊鏈嶅姟鍣ㄦ晠闅滐紝瀹炵幇鏈嶅姟鐨勫揩閫熻縼绉伙紝浠庤岄檷浣庝汉宸ュ共棰勭殑闇瑕併俴8s鑳藉蹇熸墦鍖呭簲鐢紝瀹炵幇鏃犳湇鍔′腑鏂殑鏇存柊锛屽苟涓旀敮鎸佷粠寮鍙戠幆澧冨埌鐢熶骇鐜鐨勮縼绉汇傚彧闇瑕佷竴...
  • 8. K8s 璧勬簮閮ㄧ讲
    绛旓細Pod 绫讳技浜庡叡浜玭amesapce銆乧group銆佹枃浠剁郴缁熷嵎鐨勪竴缁 Docker 瀹瑰櫒銆傚垱寤篜od鏃讹紝闄や簡浼氬垱寤1涓垨澶氫釜宸ヤ綔瀹瑰櫒澶栵紝 杩樹細棰濆鍦≒od涓垱寤篜od瀹瑰櫒锛孭od瀹瑰櫒鐢ㄤ簬瀹炵幇k8s鐨勫悇绉嶅姛鑳 銆傛煡璇㈠熀纭淇℃伅 鏌ヨ璇︾粏淇℃伅 鏌ヨPod鐨勬爣绛 ReplicationController 纭繚鍦ㄤ换浣曟椂鍊欓兘鏈夌壒瀹氭暟閲忕殑 Pod 鍓湰澶勪簬杩愯鐘舵併 鎹㈠彞璇濊...
  • 鎺㈢┒K8S缁忓吀鐞嗚:寮曢绉戞妧鏂版疆娴
    绛旓細鍦ㄥ疄闄呭簲鐢ㄤ腑锛K8S灞曠幇鍑轰簡寮哄ぇ鐨勫姛鑳姐傞氳繃澹版槑寮忛厤缃拰鑷姩鍖栫鐞嗭紝K8S绠鍖栦簡搴旂敤鐨閮ㄧ讲銆佹墿灞曞拰缁存姢銆傚叾璐熻浇鍧囪 鍜屾晠闅滆浆绉昏兘鍔涳紝纭繚浜嗗簲鐢ㄧ殑楂樺彲鐢鎬с傛澶栵紝K8S杩樻敮鎸佸绉嶅鍣ㄨ繍琛屾椂锛屽Docker銆乺kt绛夛紝涓哄紑鍙戣呮彁渚涗簡鏋佸ぇ鐨勭伒娲绘с傚煎緱娉ㄦ剰鐨勬槸锛孠8S骞堕潪涓囪兘鐨勩傚湪鏌愪簺鍦烘櫙涓嬶紝濡傚崟涓涓绘満鐜鎴栫畝鍗...
  • 扩展阅读:www.sony.com.cn ... k8s经典影视剧入口 ... k8s经典极速电影 ... 新地狱监牢k8 ... k 8线经典理论 ... 老版经典k8 ... e人e本t8s和k8s ... k82经典版电影完整版 ... k8s经典剧电影 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网