眾所周知,亞馬遜有EC2容器服務,它是亞馬遜用于運行Docker容器的解決方案。不過我覺得EC2容器服務不怎么好用,所以現(xiàn)在我要在AWS上測試Rancher和Kubernetes。
10年積累的成都做網(wǎng)站、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務。我雖然不認識你,你也不認識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有讓胡路免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Kubernetes是一個用以自動化部署、彈性伸縮以及管理容器化應用程序的開源系統(tǒng)。Rancher是一個可用于企業(yè)內(nèi)部的完整的容器管理和運行平臺,它提供企業(yè)級的訪問控制和容器編排。
Rancher環(huán)境部署
第一步,我會按默認的向?qū)?chuàng)建一個新的虛擬私有云,這個虛擬私有云是為Rancher準備的。接下來的事情就是創(chuàng)建一個或多個新主機,Rancher文檔說要手動安裝Docker,我在這里選擇了RancherOS AMI。AMI是專門為這個目的而生的,而且它非常的?。ㄉ踔劣赾url都沒有被安裝)。
安全組限制了只有我的IP才可以訪問TCP端口 k8080。這一點很重要,因為默認的設(shè)定是不會啟動授權(quán)的。在不同主機間允許彼此的訪問也是件非常棒的事情,這可以通過保存安全組來完成(然后順利拿到sg- identifier),并向那個安全組中添加所有訪問權(quán)限。
當新的instance準備就緒,只需使用SSH連接并且用sudo docker run -d --restart=always -p 8080:8080 rancher/server啟動Rancher服務器Docker p_w_picpath就好了。Rancher的應用程序?qū)⒆约涸贒ocker p_w_picpath內(nèi)運行。
你可以用the docker logs -f {containerid}命令跟蹤日志:
一切完美!Rancher server開始啟動了。你可以瀏覽到這個實例的IP,默認情況下,Rancher server將在端口8080上運行。所有的主機都可以使用公有的IP,可如果你是在虛擬私有云上有主機的話,這就有點麻煩了,所以你可以選擇使用私有IP而非公有IP。這可以在管理和設(shè)置里進行更改。
當Rancher server啟動并運行了,我們需要添加一些Docker主機。你可以啟動一個新的主機(這很贊的,因為它會啟動另一個有著相同配置的實例),或者你可以添加和server中的主機一樣的主機(不過這不是最好的辦法)。
Kubernetes環(huán)境部署
接下來,在Rancher server中的添加一個新的主機,點擊Infrastructure,然后再點擊Add Host 。主機添加完了之后,您可以添加Kubernetes環(huán)境了。 Kubernetes隨后將自動部署到新的主機上。
這將需要幾分鐘的時間,你可以通過選擇環(huán)境監(jiān)視其當前的狀態(tài):
Kubernetes環(huán)境創(chuàng)建完成后,您可以導航到Catalog里部署一個容器。例如,選擇K8S Example Ghost容器——它幾乎不需要花時間,就能瞬間啟動并運行起來:
在部署Kubernetes的過程中,堆棧會和下列實例一起被創(chuàng)建:
Rancher Ingress Controller 1 (rancher/ingress-controller):Rancher Ingress Controller將充分利用Rancher現(xiàn)有的負載平衡功能,并結(jié)合Kubernetes ingress的特性,集成成Rancher的負載均衡。
Rancher Server (rancher/server):Rancher 管理服務器,它將運行web前端和API。
Rancher Agent (rancher/agent):每個節(jié)點都會獲得一個相對獨立的、用以管理節(jié)點的agent。
Rancher Kubernetes Agent 1 (rancher/kubernetes-agent):負責處理Rancher和Kubernetes之間通信的代理。
Rancher Agent Instance (rancher/agent-instance):Rancher的代理實例的p_w_picpath。
Kubernetes ETCD 1 (rancher/etc):etcd是用于對象和元數(shù)據(jù)的持久化、安全的分布式存儲的高可用性鍵值存儲組件。
Kubernetes Proxy 1 (rancher/k8s):在每個節(jié)點上運行的Kubernetes network proxy。
Kubernetes Scheduler 1 (rancher/k8s):Kubernetes controller manager是Kubernetes的一個核心組件。
Kubelet 1 (rancher/k8s):kubelet是在每個節(jié)點上運行的最重要的“節(jié)點代理”。
當你要添加一個額外的主機時,以下這些也會被同步添加:
Kubernetes Proxy2
Kubernetes Etcd 2
Kubelet 2
因為我不想自己維護我自己的registry,所以我創(chuàng)建了一個Amazon Container Registry,并使用了Rancher的registry。你可以直接復制Amazon Container Registry里的地址,用戶名AWS(注意區(qū)分大小寫)和密碼(base64編碼字符串)。
你可以這樣獲得credentials:
然后創(chuàng)建Docker p_w_picpath:
給p_w_picpath打上標簽:
push 這個p_w_picpath去registry:
如果你想更多地了解如何在Rancher上運行Kubernetes,可以訪問這里:
http://rancher.com/kubernetes/,或來這里閱讀免費的電子書:http://info.rancher.com/deploying-scaling-kubernetes-ebook。
原文來源:Rancher Labs