如何在VMware vSphere上安裝Kubernetes來執行Docker
安裝Google Kubernetes不需要VMware vSphere或任何其他虛擬機器管理程式。但是,在VM上執行此操作非常方便,因此強烈建議特別針對開發和測試環境。
無論是VM還是物理機,都必須使用Linux作業系統。和往常一樣,我選擇了CentOS 7,它是RHEL的一個分支。安裝CentOS後,其餘的很容易。如果您已經擁有CentOS模板,那麼部署新模板應該非常快。
為了獲得更好的使用者體驗,您需要擁有乾淨的CentoS。當我嘗試安裝時,我使用了已經安裝了Nginx的CentOS,這給了我一些麻煩。最後,我不得不從頭開始。 以下是我在學習Docker Containers - 使用Kubernetes,Flannel,Cockpit和Atomic(強烈推薦)構建和部署這本書時用來安裝Kubernetes的命令列。因為它僅用於測試,所以我只是將所有內容安裝在一個VM中。如果是真實系統,您希望擁有主節點和不同節點。
安裝Master和Client:
首先,將CentOS帶到最新狀態並重啟機器。
# yum update # reboot |
然後,使用yum命令列開始安裝mater節點。
# yum install -y kubernetes etcd # systemctl stop firewalld # systemctl disable firewalld # vi /etc/kubernetes/apiserver # systemctl restart etcd kube-apiserver kube-controller-manager kube-scheduler # systemctl enable etcd kube-apiserver kube-controller-manager kube-scheduler |
安裝客戶端:
# systemctl restart kube-proxy kubelet docker # systemctl enable kube-proxy kubelet docker |
驗證它是否已成功安裝,請嘗試以下命令列:
[[email protected] ~]# kubectl get node NAME STATUS AGE 127.0.0.1 Ready 5h |
建立新的 Cluster/Pod
Kubernetes使用json檔案以真實的“軟體定義”方式描述POD藍圖。
# vi web-db.json # kubectl create -f web-db.json |
它有兩個容器:一個用於Web伺服器,另一個用於DB。
apiVersion: v1 kind: Pod metadata: name: web-db-pod labels: app: web-db-pod spec: containers: - name: mywebdock image: "cricket/webdock" ports: - containerPort: 80 hostPort: 80 - name: mydbdock image: "cricket/dbdock" ports: - containerPort: 3306 hostPort: 3306 |
The deployment takes a few minutes to finish. Along the way, you can use the docker ps command to see what containers are there already:
# docker ps |
部署需要幾分鐘才能完成。 在此過程中,您可以使用docker ps命令檢視已存在的容器
# curl localhost:80 # curl localhost:80/cgi-bin/action |
在我的情況下,第二個命令失敗,500內部服務錯誤。 為了找出原因,我登入容器以獲取更多資訊。 使用以下命令列實際上非常簡單。 請注意,docker attach命令是不夠的,因為現有容器沒有執行任何shell。
# docker exec -it 9392c4458609 bash |
進入容器後,您可以看到該檔案
# vi /var/www/cgi-bin/action #!/usr/bin/python # -*- coding: utf-8 -*- import MySQLdb as mdb import os con = mdb.connect(os.getenv('DB_SERVICE_SERVICE_HOST','172.17.42.1'), 'dbuser1', 'redhat', 'gss') |
請注意,我的環境中不存在IP地址172.17.42.1。 只需將其更改為127.0.0.1並儲存即可。 然後在瀏覽器中嘗試URL將起作用 http://192.168.0.128/cgi-bin/action 注意:您的容器IP地址可能不同。