OpenStack與K8S結(jié)合主要有兩種方案。一是K8S部署在OpenStack平臺之上,二是K8S和OpenStack組件集成。
首先第一種方案目前也是大多數(shù)用戶選擇的方案,這種方式的優(yōu)點是K8S能夠快速部署、彈性擴容,并且通過虛擬機的多租戶間接實現(xiàn)了容器的多租戶,隔離性好。
缺點是容器跑在虛擬機上,多多少少計算性能可能會有點損耗,網(wǎng)絡(luò)的多層overlay嵌套也可能導(dǎo)致性能下降。
OpenStack Magnum項目是該方案實現(xiàn)的代表,該項目為OpenStack提供容器編排服務(wù),通過該組件,用戶可以快速部署一個K8S、Mesos以及Swarm集群,原理和OpenStack大多數(shù)的高級服務(wù)實現(xiàn)差不多,先通過heat完成資源編排(創(chuàng)建虛擬機、volume、安全組等),然后通過鏡像里面的heat-container-agent以及一些腳本完成K8S、Mesos以及Swarm集群的安裝配置。當(dāng)然,通過Ironic,Magnum支持將容器編排組件直接部署在物理機(裸機)上。
第二種方案是K8S與OpenStack的各個組件集成,在OpenStack社區(qū)以及K8S社區(qū)的共同努力下,目前可以集成的組件還是挺多的,下面簡單介紹下。
1 K8S與OpenStack Keystone集成
K8S可以和OpenStack Keystone集成,即K8S可以使用Keystone認證,參考keystone authentication kubernetes-cluster。
2 K8S與OpenStack Glance集成
這個沒有必要,因為Docker的鏡像是分層的,使用Registry或者Harbor即可。當(dāng)然如果有必要可以使用Glance存儲Docker鏡像作為備份,不過更建議備份到OpenStack Swift,Registry以及Harbor都原生支持使用Swift作為存儲后端。
3 K8S與OpenStack Neutron集成
前面提到的通過Magnum把容器部署在虛擬機,其實并沒有根本改變K8S的網(wǎng)絡(luò)模型,K8S的底層網(wǎng)絡(luò)依然還是諸如Flannel、Contrail等網(wǎng)絡(luò)模型,和Neutron其實沒有多大關(guān)系。另外,前面也說了,容器運行在虛擬機中不僅可能會導(dǎo)致計算性能損耗,網(wǎng)絡(luò)的多層Overlay嵌套也可能會大大降低容器的網(wǎng)絡(luò)性能。
其實社區(qū)已經(jīng)實現(xiàn)K8S直接OpenStack Neutron網(wǎng)絡(luò)集成,即kuryr-kubernetes項目。K8S的pod與OpenStack虛擬機是平等公民,共享Neutron網(wǎng)絡(luò)服務(wù),K8S網(wǎng)絡(luò)具備和OpenStack虛擬機等同的功能,比如安全組、防火墻、QoS等。
不過遺憾的是,目前kuryr還不支持多租戶,Kuryr使用Neutron的network以及subnet都是配置寫死的,而不是創(chuàng)建port時指定。
4 K8S與Cinder集成
目前K8S已經(jīng)實現(xiàn)了很多volume插件,PV支持對接各種存儲系統(tǒng),比如Ceph RBD、GlusterFS、NFS等等,參考kubernetes persistent volumes,其中就包含了Cinder,即K8S可以使用Cinder提供volume服務(wù),這樣K8S和Nova共享一套存儲系統(tǒng),都是Cinder的消費者。Cinder屏蔽了底層存儲系統(tǒng),K8S直接對接Cinder,省去了一堆plugins的安裝配置。
5 K8S與Manila集成
前面提到K8S與Cinder集成,其實K8S還支持與OpenStack Manila服務(wù)集成,目前該插件已經(jīng)包含在K8S的external storage項目中。
-
虛擬機
+關(guān)注
關(guān)注
1文章
949瀏覽量
28465 -
OpenStack
+關(guān)注
關(guān)注
1文章
69瀏覽量
18956
原文標(biāo)題:OpenStack與K8s結(jié)合的幾種方案之比較
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
全面提升,阿里云Docker/Kubernetes(K8S) 日志解決方案與選型對比
全面提升,阿里云Docker/Kubernetes(K8S) 日志解決方案與選型對比
從零開始入門 K8s | 調(diào)度器的調(diào)度流程和算法介紹
如何使用kubernetes client-go實踐一個簡單的與K8s交互過程
![如何使用kubernetes client-go實踐一個簡單的與<b class='flag-5'>K8s</b>交互過程](https://file.elecfans.com/web1/M00/DE/5F/pIYBAGAYxO6AH-XxAAB0jY76Iww004.jpg)
關(guān)于K8s最詳細的解析
![關(guān)于<b class='flag-5'>K8s</b>最<b class='flag-5'>詳細</b>的解析](https://file.elecfans.com/web1/M00/E9/68/o4YBAGBunIKAHvC-AAAPRpKe0us087.jpg)
Docker不香嗎為什么還要用K8s
簡單說明k8s和Docker之間的關(guān)系
K8S集群服務(wù)訪問失敗怎么辦 K8S故障處理集錦
![<b class='flag-5'>K8S</b>集群服務(wù)訪問失敗怎么辦 <b class='flag-5'>K8S</b>故障處理集錦](https://file.elecfans.com/web2/M00/12/E9/poYBAGEu8TeASCueAAAT1AA4nh0921.png)
mysql部署在k8s上的實現(xiàn)方案
k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres
什么是K3s和K8s?K3s和K8s有什么區(qū)別?
k8s生態(tài)鏈包含哪些技術(shù)
![<b class='flag-5'>k8s</b>生態(tài)鏈包含哪些技術(shù)](https://file1.elecfans.com/web2/M00/8F/8C/wKgZomTQXVCAEPtNAAANqN42JQk707.jpg)
評論