Kubernetes安裝部署演示介紹
序
這是差不多2年前我整理的一篇純手工搭建Kubernetes的文件,裡邊涉及的軟體版本相對偏低一些,但對一些初學者來說應該依然具有一定的借鑑意義。
環境介紹:
OS:Linux redhat721 3.10.0-327.el7.x86_64
K8S測試叢集共2臺主機,1臺Master和1臺Node, Master IP:192.168.80.137
元件 | 版本 | 部署方式 | 安裝目錄或訪問入口 |
docker | 1.10.3 | rpm | /var/lib/docker |
etcd | 2.3.6 | tar | /root/etcd-v2.3.6-linux-amd64 |
flannel | 0.5.5 | tar | /root/flannel-0.5.5 |
kubernetes | 1.2.4 | tar | /root/kubernetes |
skydns | 2015-10-13 | 容器 | 固定ip:192.168.3.254 |
kube2sky | 1.14 | 容器 | 和skydns同pod |
etcd | 2.2.2 | 容器 | 和skydns同pod |
exechealthz | 1.0 | 容器 | 和skydns同pod |
dashboard | 1.0.1 | 容器 | http://192.168.80.137:8080/ui |
nginx | 容器 | ||
cAdvisor | 容器 | kubelet自動啟動
http://192.168.80.137:4194 |
|
heapster | 1.0.2 | 容器 | |
influxDB | 0.5 | 容器 |
Node IP:192.168.80.139
元件 | 版本 | 部署方式 | 安裝目錄或訪問入口 |
docker | 1.10.3 | rpm | /var/lib/docker |
flannel | 0.5.5 | tar | /root/flannel-0.5.5 |
kubernetes | 1.2.4 | tar | /root/kubernetes |
cAdvisor | 容器 | kubelet自動啟動
http://192.168.80.139:4194 |
一、安裝docker環境
1、安裝
本次安裝的是docker1.10.3,建議安裝最新的docker環境。
使用的安裝包為Redhat7.x準備所有環境依賴的rpm集合包,包內的rpm檔案如下面rpm命令所涉。
將所有檔案上傳主機,使用下面命令進行安裝:
————————
rpm -Uvh ./policycoreutils-2.2.5-20.el7.x86_64.rpm
rpm -Uvh ./audit-libs-python-2.4.1-5.el7.x86_64.rpm
rpm -Uvh ./checkpolicy-2.1.12-6.el7.x86_64.rpm
rpm -Uvh ./libcgroup-0.41-8.el7.x86_64.rpm
rpm -Uvh ./libsemanage-2.1.10-18.el7.x86_64.rpm
rpm -Uvh ./libsemanage-python-2.1.10-18.el7.x86_64.rpm
rpm -Uvh ./python-IPy-0.75-6.el7.noarch.rpm
rpm -Uvh ./setools-libs-3.3.7-46.el7.x86_64.rpm
rpm -Uvh ./policycoreutils-python-2.2.5-20.el7.x86_64.rpm
rpm -Uvh ./docker-engine-selinux-1.10.3-1.el7.centos.noarch.rpm
rpm -Uvh –nodeps –force ./device-mapper-libs-1.02.107-5.el7.x86_64.rpm ./device-mapper-1.02.107-5.el7.x86_64.rpm
rpm -Uvh –nodeps –force ./systemd-219-19.el7.x86_64.rpm ./systemd-libs-219-19.el7.x86_64.rpm ./kmod-20-5.el7.x86_64.rpm ./dracut-033-359.el7.x86_64.rpm ./initscripts-9.49.30-1.el7.x86_64.rpm ./libgudev1-219-19.el7.x86_64.rpm ./systemd-sysv-219-19.el7.x86_64.rpm ./dracut-network-033-359.el7.x86_64.rpm ./dracut-config-rescue-033-359.el7.x86_64.rpm
rpm -Uvh ./docker-engine-1.10.3-1.el7.centos.x86_64.rpm
————————-
2、啟動docker服務
啟動docker服務命令:sudo service docker start
將docker加入隨主機自啟動列表:sudo chkconfig docker on
3、驗證docker環境
執行命令:docker version,顯示如下資訊,則docker環境正確安裝:
二、安裝etcd服務
1、安裝
本次安裝的是etcd2.3.6。
將etcd-v2.3.6-linux-amd64.tar.gz上傳主機,並解壓。
tar -xzvf etcd-v2.3.6-linux-amd64.tar.gz
2、驗證
export PATH=$PATH:/root/etcd-v2.3.6-linux-amd64
etcd -version
3、啟動etcd服務
編輯shell指令碼startEtcd.sh,內容如下:
——————————-
#!/bin/sh
export PATH=$PATH:/root/etcd-v2.3.6-linux-amd64
export ETCD_OPTS=”–listen-client-urls http://0.0.0.0:4001 –advertise-client-urls http://0.0.0.0:4001 –data-dir /var/lib/etcd/default.etcd”
nohup /root/etcd-v2.3.6-linux-amd64/etcd $ETCD_OPTS &
——————————-
啟動命令:./startEtcd.sh
三、安裝flannel虛擬網路環境
1、安裝
本次安裝的是flannel0.5.5。
將flannel-0.5.5-linux-amd64.tar.gz上傳主機,並解壓。
tar -zxvf flannel-0.5.5-linux-amd64.tar
2、在etcd中預註冊flannel要使用虛擬地址段
etcdctl mk /coreos.com/network/config ‘{ “Network”: “172.19.0.0/16” }’
3、啟動flannel
編輯shell指令碼startFlannel.sh,內容如下:
——————–
#!/bin/sh
nohup /root/flannel-0.5.5/flanneld –etcd-endpoints=http://127.0.0.1:4001 &
———————
啟動命令:./startFlanneld.sh
4、etcd中驗證flannel地址分配
etcdctl ls /coreos.com/network/subnets
etcdctl get /coreos.com/network/subnets/172.19.3.0-24
這說明本地flannel使用的172.19.3.0網段地址。
5、生成docker相關引數,${FLANNEL_SUBNET}
./mk-docker-opts.sh
cat /run/flannel/subnet.env
6、給docker0虛擬網絡卡新增引數,重啟
//ifconfig docker0 172.19.3.1/24
ifconfig docker0 ${FLANNEL_SUBNET}
ifconfig docker0 down
ifconfig docker0 up
7、重啟docker服務
service docker stop
service docker start
8、驗證
Ifconfig命令
Docker網絡卡的地址不再是172.17網段的地址,而是172.19.3地址(這個每次獲取都會變)。
這幾個前置環境部署好後,接下來將部署K8S環境。