1. 程式人生 > >Kubernetes安裝部署演示介紹

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環境。