當(dāng)你想在云上創(chuàng)建一個集群或者盡可能快地構(gòu)建基礎(chǔ)設(shè)施時,你可能會用到它。 編譯自 | https://blog./your-instant-kubernetes-cluster/ 作者 | Alex Ellis 譯者 | qhwdw ?? ?? ?? ?? ?? 共計翻譯:105 篇 貢獻時間:177 天這是我以前的 10 分鐘內(nèi)配置 Kubernetes[1] 教程的精簡版和更新版。我刪除了一些我認為可以去掉的內(nèi)容,所以,這個指南仍然是通順的。當(dāng)你想在云上創(chuàng)建一個集群或者盡可能快地構(gòu)建基礎(chǔ)設(shè)施時,你可能會用到它。 1.0 挑選一個主機 我們在本指南中將使用 Ubuntu 16.04,這樣你就可以直接拷貝/粘貼所有的指令。下面是我用本指南測試過的幾種環(huán)境。根據(jù)你運行的主機,你可以從中挑選一個。 ? DigitalOcean[2] - 開發(fā)者云? 2x Dell Intel i7 服務(wù)器 —— 它在我家中Civo 是一個相對較新的開發(fā)者云,我比較喜歡的一點是,它開機時間只有 25 秒,我就在英國,因此,它的延遲很低。
1.1 準備機器 你可以使用一個單臺主機進行測試,但是,我建議你至少使用三臺機器,這樣你就有一個主節(jié)點和兩個工作節(jié)點。 下面是一些其他的指導(dǎo)原則: ? 最好選至少有 2 GB 內(nèi)存的雙核主機? 在準備主機的時候,如果你可以自定義用戶名,那么就不要使用 root。例如,Civo 通常讓你在 ubuntu、civo 或者 root 中選一個。現(xiàn)在,在每臺機器上都運行以下的步驟。它將需要 5-10 鐘時間。如果你覺得太慢了,你可以使用我放在 Gist[5] 的腳本 : $ curl -sL https://gist.githubusercontent.com/alexellis/e8bbec45c75ea38da5547746c0ca4b0c/raw/23fc4cd13910eac646b13c4f8812bab3eeebab4c/configure.sh | sh
1.2 登入和安裝 Docker 從 Ubuntu 的 apt 倉庫中安裝 Docker。它的版本可能有點老,但是,Kubernetes 在老版本的 Docker 中是測試過的,工作的很好。 $ sudo apt-get update \
&& sudo apt-get install -qy docker.io
1.3 禁用 swap 文件 這是 Kubernetes 的強制步驟。實現(xiàn)它很簡單,編輯 /etc/fstab 文件,然后注釋掉引用 swap 的行即可。 保存它,重啟后輸入 sudo swapoff -a。 一開始就禁用 swap 內(nèi)存,你可能覺得這個要求很奇怪,如果你對這個做法感到好奇,你可以去 這里閱讀它的相關(guān)內(nèi)容[6]。
1.4 安裝 Kubernetes 包 $ sudo apt-get update \
&& sudo apt-get install -y apt-transport-https \
&& curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
$ echo 'deb http://apt./ kubernetes-xenial main' \
| sudo tee -a /etc/apt/sources.list.d/kubernetes.list \
&& sudo apt-get update
$ sudo apt-get update \
&& sudo apt-get install -y \
kubelet \
kubeadm \
kubernetes-cni
1.5 創(chuàng)建集群 這時候,我們使用 kubeadm 初始化主節(jié)點并創(chuàng)建集群。這一步僅在主節(jié)點上操作。 雖然有警告,但是 Weaveworks[7] 和 Lucas(他們是維護者)向我保證,kubeadm 是可用于生產(chǎn)系統(tǒng)的。
如果你錯過一個步驟或者有問題,kubeadm 將會及時告訴你。 我們復(fù)制一份 Kube 配置: mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
確保你一定要記下如下的加入 token 的命令。 $ sudo kubeadm join --token c30633.d178035db2b4bb9a 10.0.0.5:6443 --discovery-token-ca-cert-hash sha256:<hash>
2.0 安裝網(wǎng)絡(luò) 許多網(wǎng)絡(luò)提供商提供了 Kubernetes 支持,但是,默認情況下 Kubernetes 都沒有包括。這里我們使用來自 Weaveworks[7] 的 Weave Net,它是 Kebernetes 社區(qū)中非常流行的選擇之一。它近乎不需要額外配置的 “開箱即用”。 $ kubectl apply -f 'https://cloud.s/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')'
如果在你的主機上啟用了私有網(wǎng)絡(luò),那么,你可能需要去修改 Weavenet 使用的私有子網(wǎng)絡(luò),以便于為 Pod(容器)分配 IP 地址。下面是命令示例: $ curl -SL 'https://cloud.s/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')&env.IPALLOC_RANGE=172.16.6.64/27' \
| kubectl apply -f -
Weave 也有很酷的稱為 Weave Cloud 的可視化工具。它是免費的,你可以在它上面看到你的 Pod 之間的路徑流量。這里有一個使用 OpenFaaS 項目的示例[8]。
2.2 在集群中加入工作節(jié)點 現(xiàn)在,你可以切換到你的每一臺工作節(jié)點,然后使用 1.5 節(jié)中的 kubeadm join 命令。運行完成后,登出那個工作節(jié)點。 3.0 收獲 到此為止 —— 我們?nèi)颗渲猛瓿闪?。你現(xiàn)在有一個正在運行著的集群,你可以在它上面部署應(yīng)用程序。如果你需要設(shè)置儀表板 UI,你可以去參考 Kubernetes 文檔[9]。 $ kubectl get nodes
NAME STATUS ROLES AGE VERSION
openfaas1 Ready master 20m v1.9.2
openfaas2 Ready <none> 19m v1.9.2
openfaas3 Ready <none> 19m v1.9.2
如果你想看到我一步一步創(chuàng)建集群并且展示 kubectl 如何工作的視頻,你可以看下面我的視頻,你可以訂閱它。 你也可以在你的 Mac 電腦上,使用 Minikube 或者 Docker 的 Mac Edge 版本,安裝一個 “開箱即用” 的 Kubernetes 集群。閱讀在這里的我的評估和第一印象[10]。
via: https://blog./your-instant-kubernetes-cluster/ 作者:Alex Ellis[12] 譯者:qhwdw 校對:wxy
|