OpenStack與K8S結合主要有兩種方案。一是K8S部署在OpenStack平臺之上,二是K8S和OpenStack組件集成。
首先第一種方案目前也是大多數用戶選擇的方案,這種方式的優(yōu)點是K8S能夠快速部署、彈性擴容,并且通過虛擬機的多租戶間接實現了容器的多租戶,隔離性好。
缺點是容器跑在虛擬機上,多多少少計算性能可能會有點損耗,網絡的多層overlay嵌套也可能導致性能下降。
OpenStack Magnum項目是該方案實現的代表,該項目為OpenStack提供容器編排服務,通過該組件,用戶可以快速部署一個K8S、Mesos以及Swarm集群,原理和OpenStack大多數的高級服務實現差不多,先通過heat完成資源編排(創(chuàng)建虛擬機、volume、安全組等),然后通過鏡像里面的heat-container-agent以及一些腳本完成K8S、Mesos以及Swarm集群的安裝配置。當然,通過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即可。當然如果有必要可以使用Glance存儲Docker鏡像作為備份,不過更建議備份到OpenStack Swift,Registry以及Harbor都原生支持使用Swift作為存儲后端。
3 K8S與OpenStack Neutron集成
前面提到的通過Magnum把容器部署在虛擬機,其實并沒有根本改變K8S的網絡模型,K8S的底層網絡依然還是諸如Flannel、Contrail等網絡模型,和Neutron其實沒有多大關系。另外,前面也說了,容器運行在虛擬機中不僅可能會導致計算性能損耗,網絡的多層Overlay嵌套也可能會大大降低容器的網絡性能。
其實社區(qū)已經實現K8S直接OpenStack Neutron網絡集成,即kuryr-kubernetes項目。K8S的pod與OpenStack虛擬機是平等公民,共享Neutron網絡服務,K8S網絡具備和OpenStack虛擬機等同的功能,比如安全組、防火墻、QoS等。
不過遺憾的是,目前kuryr還不支持多租戶,Kuryr使用Neutron的network以及subnet都是配置寫死的,而不是創(chuàng)建port時指定。
4 K8S與Cinder集成
目前K8S已經實現了很多volume插件,PV支持對接各種存儲系統(tǒng),比如Ceph RBD、GlusterFS、NFS等等,參考kubernetes persistent volumes,其中就包含了Cinder,即K8S可以使用Cinder提供volume服務,這樣K8S和Nova共享一套存儲系統(tǒng),都是Cinder的消費者。Cinder屏蔽了底層存儲系統(tǒng),K8S直接對接Cinder,省去了一堆plugins的安裝配置。
5 K8S與Manila集成
前面提到K8S與Cinder集成,其實K8S還支持與OpenStack Manila服務集成,目前該插件已經包含在K8S的external storage項目中。
-
虛擬機
+關注
關注
1文章
955瀏覽量
28849 -
OpenStack
+關注
關注
1文章
71瀏覽量
19185
原文標題:OpenStack與K8s結合的幾種方案之比較
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
全面提升,阿里云Docker/Kubernetes(K8S) 日志解決方案與選型對比
全面提升,阿里云Docker/Kubernetes(K8S) 日志解決方案與選型對比
從零開始入門 K8s | 調度器的調度流程和算法介紹
如何使用kubernetes client-go實踐一個簡單的與K8s交互過程

關于K8s最詳細的解析

Docker不香嗎為什么還要用K8s
簡單說明k8s和Docker之間的關系
K8S集群服務訪問失敗怎么辦 K8S故障處理集錦

mysql部署在k8s上的實現方案
k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres
什么是K3s和K8s?K3s和K8s有什么區(qū)別?
k8s生態(tài)鏈包含哪些技術

評論