這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
一、準備環境
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"}'