Ubuntu 安裝 Kubernetes


Kubernetes是Google開源的容器集群管理系統。它構建於docker技術之上,為容器化的應用提供資源調度、部署運行、服務發現、擴容縮容等整一套功能,本質上可看作是基於容器技術的mini-PaaS平台。本文旨在梳理Kubernetes的架構、概念及基本工作流,並且通過運行一個簡單的示例應用來介紹如何使用Kubernetes。

 

搭建環境

第一步,我們需要Kuberntes各組件的二進制可執行文件。有以下兩種方式獲取:

下載源代碼自己編譯:

git clone https://github.com/GoogleCloudPlatform/kubernetes.git
cd kubernetes/build
./release.sh  

直接下載人家已經編譯打包好的tar文件:

wget https://storage.googleapis.com/kubernetes/binaries.tar.gz

自己編譯源碼需要先安裝好golang,編譯完之后在kubernetes/_output/release-tars文件夾下可以得到打包文件。直接下載的方式不需要安裝其他軟件,但可能得不到最新的版本。

#192.168.124.131 kubernetes server
cp
/usr/local/kubernetes/_output/release-stage/server/linux-amd64/kubernetes/server/bin/apiserver /usr/local/bin
cp /usr/local/kubernetes/_output/release-stage/server/linux-amd64/kubernetes/server/bin/controller-manager /usr/local/bin
cp /usr/local/kubernetes/_output/release-stage/server/linux-amd64/kubernetes/server/bin/scheduler /usr/local/bin

 

#192.168.124.132/192.168.124.133 kubernetes minion
cp
/usr/local/kubernetes/_output/release-stage/server/linux-amd64/kubernetes/server/bin/kubelet /usr/local/bin
cp /usr/local/kubernetes/_output/release-stage/server/linux-amd64/kubernetes/server/bin/proxy /usr/local/bin

 

API Server Unit File

cd /lib/systemd/system
vim apiserver.service

 

[Unit]
After=etcd.service
ConditionFileIsExecutable=/usr/local/bin/apiserver
Description=Kubernetes API Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Wants=etcd.service

[Service]
ExecStart=/usr/local/bin/apiserver \
-address=192.168.124.131 \
-port=8080 \
-portal_net=172.17.0.0/16 \
-etcd_servers=http://192.168.124.131:4001 \
-logtostderr=true \
-v=0 \
-log_dir=/home/kubernetes/logs
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

 

controller-manager.service

 vim controller-manager.service
[Unit]
After=etcd.service
ConditionFileIsExecutable=/usr/local/bin/controller-manager
Description=Kubernetes Controller Manager
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Wants=etcd.service

[Service]
ExecStart=/usr/local/bin/controller-manager \
-master=192.168.124.131:8080 \
-machines=192.168.124.132,192.168.124.133
-logtostderr=true \
-v=3 \
-log_dir=/home/kubernetes/logs
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

 scheduler.service

 vim scheduler.service

 

[Unit]
After=etcd.service
ConditionFileIsExecutable=/usr/local/bin/scheduler
Description=Kubernetes Scheduler
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Wants=etcd.service

[Service]
ExecStart=/usr/local/bin/scheduler \
-master=192.168.124.131:8080 \
-logtostderr=false \
-v=3 \
-log_dir=/home/kubernetes/logs
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

 

Minion unit file

cd /lib/systemd/system
vim kubelet.service 
[Unit]
After=etcd.service
ConditionFileIsExecutable=/usr/local/bin/kubelet
Description=Kubernetes Kubelet
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Wants=etcd.service

[Service]
ExecStart=/usr/local/bin/kubelet \
-address=192.168.124.132 \
-port=10250 \
-hostname_override=192.168.124.132 \
-etcd_servers=http://192.168.124.132:4001 \
-logtostderr=true \
-v=3 \
-log_dir=/home/kubernetes/logs
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

proxy.service

vim proxy.service
[Unit]
After=etcd.service
ConditionFileIsExecutable=/usr/local/bin/proxy
Description=Kubernetes Proxy
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Wants=etcd.service

[Service]
ExecStart=/usr/local/bin/proxy \
-etcd_servers=http://192.168.124.132:4001 \
-logtostderr=true \
-v=3 \
-log_dir=/home/kubernetes/logs
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

部署完畢訪問

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM