一、准备环境
1.1 准备机器
准备三台CentOS7.2机器,一台作为master节点,其他作为node节点
修改主机名称
hostnamectl set-hostname k8s-mst
Role IP Hostname
Master 192.168.0.87 k8s-cns1-mst
Node 192.168.0.88 k8s-cns1-nod1
Node 192.168.0.89 k8s-cns1-nod2
修改master节点/etc/hosts,添加以下内容(不设置的话,在master上kubectl相关命令无法操作对应主机上对象)
192.168.0.87 k8s-cns1-mst
192.168.0.88 k8s-cns1-nod1
192.168.0.89 k8s-cns1-nod2
为了避免和Docker的iptables产生冲突,关闭Node节点上的防火墙
systemctl stop firewalld
systemctl disable firewalld
为了让各个节点的时间保持一致,为所有节点安装NTP
yum -y install ntp
systemctl start ntpd
systemctl enable ntpd
1.2 安装docker(此处安装的是docker-ce版本)
[root@k8s-cns1-nod2 home]# cat installdocker.sh
#!/bin/bash
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-testing
yum makecache fast
yum install -y docker-ce
运行Docker Daemon
systemctl start docker
二、源码编译
2.1 准备golang环境
参考https://golang.org/doc/install,下载对应版本并解压到/usr/local,例如
tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz
安装git,下载kubenates源码并切换到需要分支(本文使用)
yum install git
go get -d k8s.io/kubernetes
cd /root/go/src/k8s.io/kubernetes
git checkout release-1.6.3 //使用release-1.6.3版本
make
编译成功后,可执行文件在
/root/go/src/k8s.io/kubernetes/_output/bin
三、配置Master
3.1 安装ectd(可选,如已有etcd集群略过)
3.1.1 安装etcd
yum -y install etcd
3.1.2 修改etcd配置/etc/etcd/etcd.conf
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
3.1.3 运行etcd
systemctl enable etcd
systemctl start etcd
3.1.4 配置etcd子网
etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'
有疑问加站长微信联系(非本文作者)