天天看點

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 /root/flannel-0.5.5
kubernetes 1.2.4 /root/kubernetes
skydns 2015-10-13 容器 固定ip:192.168.3.254
kube2sky 1.14 和skydns同pod
2.2.2
exechealthz 1.0
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
grafana 2.6.0-2 http://192.168.80.137:8080/api/v1/proxy/namespaces/ kube-system/services/monitoring-grafana/

Node IP:192.168.80.139

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環境正确安裝:

Kubernetes安裝部署示範介紹-(一)

二、安裝etcd服務

本次安裝的是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 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虛拟網絡環境

本次安裝的是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,内容如下:

——————–

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位址(這個每次擷取都會變)。

Kubernetes安裝部署示範介紹-(一)

這幾個前置環境部署好後,接下來将部署K8S環境。

本文轉自kubernetes中文社群-

Kubernetes安裝部署示範介紹-(一)