
- Kubernetes 教程
- Kubernetes - 首頁
- Kubernetes - 概述
- Kubernetes - 架構
- Kubernetes - 設定
- Kubernetes - 映象
- Kubernetes - 作業
- Kubernetes - 標籤 & 選擇器
- Kubernetes - 名稱空間
- Kubernetes - 節點
- Kubernetes - 服務
- Kubernetes - Pod
- Kubernetes - 複製控制器
- Kubernetes - 副本集
- Kubernetes - 部署
- Kubernetes - 卷
- Kubernetes - 金鑰
- Kubernetes - 網路策略
- 高階 Kubernetes
- Kubernetes - API
- Kubernetes - Kubectl
- Kubernetes - Kubectl 命令
- Kubernetes - 建立應用
- Kubernetes - 應用部署
- Kubernetes - 自動伸縮
- Kubernetes - 儀表盤設定
- Kubernetes - 監控
- Kubernetes 有用資源
- Kubernetes - 快速指南
- Kubernetes - 有用資源
- Kubernetes - 討論
Kubernetes - 設定
在設定 Kubernetes 之前,務必先設定虛擬資料中心 (vDC)。這可以被視為一組可以透過網路相互通訊的機器。如果尚未設定物理或雲基礎設施,可以考慮在PROFITBRICKS上設定 vDC 進行實踐操作。
在任何雲上完成 IaaS 設定後,需要配置主節點和工作節點。
注意 - 此設定適用於 Ubuntu 機器。也可以在其他 Linux 機器上進行相同的設定。
前提條件
安裝 Docker - Kubernetes 的所有例項都需要 Docker。以下是安裝 Docker 的步驟。
步驟 1 - 使用 root 使用者帳戶登入機器。
步驟 2 - 更新軟體包資訊。確保 apt 軟體包正常工作。
步驟 3 - 執行以下命令。
$ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates
步驟 4 - 新增新的 GPG 金鑰。
$ sudo apt-key adv \ --keyserver hkp://ha.pool.sks-keyservers.net:80 \ --recv-keys 58118E89F3A912897C070ADBF76221572C52609D $ echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
步驟 5 - 更新 API 軟體包映象。
$ sudo apt-get update
完成上述所有任務後,您可以開始實際安裝 Docker 引擎。但是,在此之前,您需要驗證您使用的核心版本是否正確。
安裝 Docker 引擎
執行以下命令以安裝 Docker 引擎。
步驟 1 - 登入機器。
步驟 2 - 更新軟體包索引。
$ sudo apt-get update
步驟 3 - 使用以下命令安裝 Docker 引擎。
$ sudo apt-get install docker-engine
步驟 4 - 啟動 Docker 守護程序。
sudo service docker start
步驟 5 - 要驗證是否已安裝 Docker,請使用以下命令。
$ sudo docker run hello-world
安裝 etcd 2.0
這需要安裝在 Kubernetes 主節點機器上。要安裝它,請執行以下命令。
$ curl -L https://github.com/coreos/etcd/releases/download/v2.0.0/etcd -v2.0.0-linux-amd64.tar.gz -o etcd-v2.0.0-linux-amd64.tar.gz ->1 $ tar xzvf etcd-v2.0.0-linux-amd64.tar.gz ------>2 $ cd etcd-v2.0.0-linux-amd64 ------------>3 $ mkdir /opt/bin ------------->4 $ cp etcd* /opt/bin ----------->5
在上述命令集中 -
- 首先,我們下載etcd。使用指定名稱儲存。
- 然後,我們必須解壓 tar 包。
- 我們在 /opt 中建立一個名為 bin 的目錄。
- 將解壓後的檔案複製到目標位置。
現在我們可以準備構建 Kubernetes 了。我們需要在叢集上的所有機器上安裝 Kubernetes。
$ git clone https://github.com/GoogleCloudPlatform/kubernetes.git $ cd kubernetes $ make release
上述命令將在 kubernetes 資料夾的根目錄下建立一個_output目錄。接下來,我們可以將目錄解壓到我們選擇的任何目錄 /opt/bin 等。
接下來是網路部分,我們需要實際開始設定 Kubernetes 主節點和工作節點。為此,我們將在主機檔案中進行一個條目,這可以在工作節點機器上完成。
$ echo "<IP address of master machine> kube-master < IP address of Node Machine>" >> /etc/hosts
以下是上述命令的輸出。

現在,我們將開始在 Kubernetes 主節點上進行實際配置。
首先,我們將開始將所有配置檔案複製到它們正確的位置。
$ cp <Current dir. location>/kube-apiserver /opt/bin/ $ cp <Current dir. location>/kube-controller-manager /opt/bin/ $ cp <Current dir. location>/kube-kube-scheduler /opt/bin/ $ cp <Current dir. location>/kubecfg /opt/bin/ $ cp <Current dir. location>/kubectl /opt/bin/ $ cp <Current dir. location>/kubernetes /opt/bin/
上述命令會將所有配置檔案複製到所需位置。現在我們將返回到我們構建 Kubernetes 資料夾的同一目錄。
$ cp kubernetes/cluster/ubuntu/init_conf/kube-apiserver.conf /etc/init/ $ cp kubernetes/cluster/ubuntu/init_conf/kube-controller-manager.conf /etc/init/ $ cp kubernetes/cluster/ubuntu/init_conf/kube-kube-scheduler.conf /etc/init/ $ cp kubernetes/cluster/ubuntu/initd_scripts/kube-apiserver /etc/init.d/ $ cp kubernetes/cluster/ubuntu/initd_scripts/kube-controller-manager /etc/init.d/ $ cp kubernetes/cluster/ubuntu/initd_scripts/kube-kube-scheduler /etc/init.d/ $ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/ $ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/ $ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/
下一步是更新 /etc 目錄下的已複製配置檔案。
使用以下命令配置主節點上的 etcd。
$ ETCD_OPTS = "-listen-client-urls = http://kube-master:4001"
配置 kube-apiserver
為此,我們需要在主節點上編輯我們之前複製的/etc/default/kube-apiserver檔案。
$ KUBE_APISERVER_OPTS = "--address = 0.0.0.0 \ --port = 8080 \ --etcd_servers = <The path that is configured in ETCD_OPTS> \ --portal_net = 11.1.1.0/24 \ --allow_privileged = false \ --kubelet_port = < Port you want to configure> \ --v = 0"
配置 kube 控制器管理器
我們需要在/etc/default/kube-controller-manager中新增以下內容。
$ KUBE_CONTROLLER_MANAGER_OPTS = "--address = 0.0.0.0 \ --master = 127.0.0.1:8080 \ --machines = kube-minion \ -----> #this is the kubernatics node --v = 0
接下來,在相應的檔案中配置 kube 排程程式。
$ KUBE_SCHEDULER_OPTS = "--address = 0.0.0.0 \ --master = 127.0.0.1:8080 \ --v = 0"
完成上述所有任務後,我們可以透過啟動 Kubernetes 主節點繼續操作。為此,我們將重新啟動 Docker。
$ service docker restart
Kubernetes 工作節點配置
Kubernetes 工作節點將執行兩個服務:kubelet 和 kube-proxy。在繼續之前,我們需要將下載的二進位制檔案複製到我們要配置 kubernetes 工作節點的所需資料夾中。
使用與 kubernetes 主節點相同的複製檔案的方法。因為它只執行 kubelet 和 kube-proxy,我們將配置它們。
$ cp <Path of the extracted file>/kubelet /opt/bin/ $ cp <Path of the extracted file>/kube-proxy /opt/bin/ $ cp <Path of the extracted file>/kubecfg /opt/bin/ $ cp <Path of the extracted file>/kubectl /opt/bin/ $ cp <Path of the extracted file>/kubernetes /opt/bin/
現在,我們將內容複製到相應的目錄。
$ cp kubernetes/cluster/ubuntu/init_conf/kubelet.conf /etc/init/ $ cp kubernetes/cluster/ubuntu/init_conf/kube-proxy.conf /etc/init/ $ cp kubernetes/cluster/ubuntu/initd_scripts/kubelet /etc/init.d/ $ cp kubernetes/cluster/ubuntu/initd_scripts/kube-proxy /etc/init.d/ $ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/ $ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/
我們將配置kubelet和kube-proxy conf檔案。
我們將配置/etc/init/kubelet.conf。
$ KUBELET_OPTS = "--address = 0.0.0.0 \ --port = 10250 \ --hostname_override = kube-minion \ --etcd_servers = http://kube-master:4001 \ --enable_server = true --v = 0" /
對於 kube-proxy,我們將使用以下命令進行配置。
$ KUBE_PROXY_OPTS = "--etcd_servers = http://kube-master:4001 \ --v = 0" /etc/init/kube-proxy.conf
最後,我們將重新啟動 Docker 服務。
$ service docker restart
現在我們完成了配置。您可以透過執行以下命令進行檢查。
$ /opt/bin/kubectl get minions