修改主机和host解析
10.0.0.11 k8s-master
10.0.0.12 k8s-node-1
10.0.0.13 k8s-node-2
添加 host解析
echo ‘mirrors.aliyun.com’ >>/etc/hosts
构建国内yum源:
下载国内yum源文件(aliyun)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
如果是最小安装,系统里没有wget命令,就使用下面的命令来实现
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
所有节点安装docker (docker版本为1.12.6)
wget http://mirrors.aliyun.com/docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
wget http://mirrors.aliyun.com/docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
wget http://mirrors.aliyun.com/docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
安装先后顺序
yum localinstall docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -y
yum localinstall docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -y
yum localinstall docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -y
master
master节点安装etcd(k8s数据库kv类型存储) 原生支持做集群 只在master 安装
yum install etcd.x86_64 -y
修改配置文件
vim /etc/etcd/etcd.conf
第6行:ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
第21行:ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379"
启动服务(2379 2380)
systemctl start etcd.service
systemctl enable etcd.service
设置键值
etcdctl set testdir/testkey0 0
查看键值
etcdctl get testdir/testkey0
集群的健康检查(cluster is healthy)
etcdctl -C http://10.0.0.11:2379 cluster-health
master节点安装kubernetes
yum install kubernetes-master.x86_64 -y
修改配置文件
辅助配置
vim /etc/kubernetes/config
~~~~~~~~~~~~~~~~
22行 KUBE_MASTER="--master=http://10.0.0.11:8080"
核心配置文件
vim /etc/kubernetes/kubelet
~~~~~~~~~~~~~~~~~~~~
5行 KUBELET_ADDRESS="--address=0.0.0.0"
8行 KUBELET_PORT="--port=10250"
11行 KUBELET_HOSTNAME="--hostname-override=k8s-node-1"
14行 KUBELET_API_SERVER="--api-servers=http://10.0.0.11:8080"
kubelet: 调用docker管理容器的生命周期 kube-proxy: 提供容器网络访问
启动服务
systemctl enable kubelet.service
systemctl start kubelet.service
systemctl enable kube-proxy.service
systemctl start kube-proxy.service
可以在master查看
kubectl get nodes
~~~~~~~~~~~~~~~~~~~~~~~~
NAME STATUS AGE
10.0.0.12 Ready 3m
10.0.0.13 Ready 8s
所有节点配置flannel网络
安装flannel
yum install flannel -y
修改配置文件
sed -i 's#http://127.0.0.1:2379#http://10.0.0.11:2379#g' /etc/sysconfig/flanneld
master节点:
etcdctl mk /atomic.io/network/config '{ "Network": "172.16.0.0/16" }'
systemctl enable flanneld.service
systemctl start flanneld.service
service docker restart
systemctl restart kube-apiserver.service
systemctl restart kube-controller-manager.service
systemctl restart kube-scheduler.service
node节点:
systemctl enable flanneld.service
systemctl start flanneld.service
service docker restart
systemctl restart kubelet.service
systemctl restart kube-proxy.service