序
这是差不多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 | 容器 | |
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
组件 | 版本 | 部署方式 | 安装目录或访问入口 |
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环境。