您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“怎么用Ubuntu和Xen來設置Kubernetes”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么用Ubuntu和Xen來設置Kubernetes”這篇文章吧。
我想要運行自己的Kubernetes部署,來運行應用程序和試驗。我不僅僅只是想測試Kubernetes,還想讓它24小時全天候運行。做到這樣最簡單的方法就是使用谷歌GCE或者AWS。如果使用這兩種方法,你就不需要花那么多錢在保持基礎安裝運行。
考慮了很多選擇之后(包括運行樹莓派集群),我得出結論,我最好的設置就是運行單個主持很多虛擬機的物理服務器。
我選了Xen作為我的超管理器,Ubuntu作為“dom0”(之后會對這個進行詳述),Core OS作為我的Kubernetes主機。以下是我的設置。
Dell T20 服務器
Intel i5-4590
16GB RAM
120 GB SSD
超管理器:Xen 超管理器/Ubuntu16.04。我發現自己完全被“dom0”的談論搞糊涂了,但是要點是:安裝Ubuntu16.04在自己的服務器上,然后你安裝(通過apt-get)Xen,安裝Xen就好像用你的原始Ubuntu安裝虛擬機一樣。這個虛擬機叫做“dem0”,可以用來管理你的其它虛擬機。
(另外困擾的就是——Xen不是Xen服務器,你可以完全忽略Xen服務器這個商業產品)。
Kubernetes OS:Core OS Alpha Channel。現在為止,Stable不包括kubelet(這個正是我們需要的),所以我們使用Alpha。這就是我選擇的,因為它支持Kubernetes既輕松又簡單。
在一個新的Ubuntu16.04上面,安裝Xen,libvirt和virtinst。將它作為默認引導點,并且重新啟動。virtinst
給我們一個CLI,我們之后會用來啟動虛擬機。
之后回來的就是原始Ubuntu,作為一個虛擬機運行在Xen超管理器上。因為是原始安裝,所以我們并不知道到底哪些東西是改變了的。我們來查看一下:
看起來不錯!
Kubernetes和這些漂亮的腳本從基礎層面為你設置整個集群。我發現的問題就是,我想要自己管理(或者理解)這些軟件。我并不想要一個迷之bash腳本來替我處理一切問題。
相反,我創建了我自成一套的腳本,這個腳本少生成和模版,可能對某些例子來說是有用的。這里展示的就是如何使用他們。
我們會盡量少使用我的東西——下面的git存儲庫是4Core OS云配置文件。這些定義配置(網絡設置,應用程序)。也有為集群配置來生成我們的SSL證書。
所以,從Github抓取我的文件,從最新的CoreOS Alpha抓取:
現在為master,node1,node2,node3來創建一個磁盤:
如果你沒有SSH密鑰的話,你可能需要生成一個:
然后我們把我們的SSH密鑰放到云端文件:
我們也需要生成我們的證書:
然后放入我們生成的證書到master節點中:
配置完成,我們現在可以驗證雙重檢查:
如果通過了(從服務器看是“null”),那就使用這些磁盤創建一個Core OS虛擬機:
這就會開啟4個運行在Core OS上面的虛擬機,我們的云配置文件。這個取決于你在哪里運行(網速,服務器電源),要花費比較長的時間才能啟動和運行。
可能發生的狀況:
下載Flannel鏡像
Kubelet開啟和下載超kube
容器為API服務器,controller 管理員,master上的調度器開啟
為kube-proxy的容器在節點上啟動
如果你需要,可以連接到控制臺,并且監控節點啟動:
你也可以ssh到master,然后查看journalctl:
所以,運行起來了嗎?讓我們來使用kubectl(我們先要在本地安裝一下這個):
讓我們來看:
最后一條,如果我們嘗試,并且列出pods(正在運行的進程),我們得不到任何東西。我們需要創建“kube-system”命名空間。這個很容易:
現在:
woohoo!
所以我們事實上完成了什么呢?我們已經將Ubuntu服務器移入到了一個Xen管理程序。在那臺超管理器上,我們創建了4個運行在Core OS上的虛擬機。在我的Git存儲庫里的Core OS文件,我們設置了一個Core OS安裝,運行在master Kubernetes組件上,其它三個則運行在節點組件上。
我們有很多方法讓Kubernetes運行在Core OS上面。特別的一點就是我們按照如下流程來設置:
Flannel service——可以用來處理我們的網絡。它允許一個節點上的容器跟其它節點上的容器進行通信。
etcd service——這就是Kubernetes 保持狀態的地方。
Docker service——Docker就是Kubernetes設置開啟鏡像的方式。
kubelet service——這就是kubernetes組件中唯一作為系統service的。我們使用kubelet來加入我們的Kubernetes集群,然后啟動其它kubernetes應用程序。
跟系統service一樣,我們也安裝了以下的東西作為services,由Kubernetes管理,我們通過在 /etc/kubernetes/manifests/中替換Kubernetes文件來完成。kubelet service監控這個目錄,并且基于它找到的東西來啟動應用程序。
kube-apiserver
kube-scheduler
kube-controller-manager
kube-proxy
就醬!我們還沒有一個功能完全的Kubernetes集群。是時候來玩一下它了!
以上是“怎么用Ubuntu和Xen來設置Kubernetes”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。