环境
master:172.31.50.150
node:172.31.50.145
操作
master:
关闭selinux
手动关闭:setenforce 0
永久关闭:vi /etc/selinux/config
...
SELINUX=disabled
...
关闭swap
手动关闭:swapoff -a
永久关闭:vi /etc/sysctl.conf
...
vm.swappiness=0
...
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
后续如果防火墙需要打开,可以查看具体开启了哪些端口,然后开放具体的端口即可。
查看监听端口命令netstat -anop | grep ' LISTEN '
直接yum安装需要的库,首先安装第三方源
yum install -y epel-release
然后安装组件
yum -y install etcd kubernetes-master
编辑etcd配置,别的配置均默认即可
vi /etc/etcd/etcd.conf
...
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
...
配置kubernetes
vi /etc/kubernetes/apiserver
...
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
...
KUBELET_PORT="--port=10250"
...
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
...
启动组件服务和设置开机启动
systemctl start etcd
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl enable etcd
systemctl enable kube-apiserver
systemctl enable kube-controller-manager
systemctl enable kube-scheduler
在etcd中定义flannel网络(用于容器跨物理机访问)
etcdctl mk /atomic.io/network/config ‘{“Network”:“172.17.0.0/16”}’
node:
selinux、swap、防火墙如master上的配置一样
第三方源
yum install -y epel-release
组件
yum -y install flannel kubernetes-node
为flannel网络指定etcd服务
vi /etc/sysconfig/flanneld
...
FLANNEL_ETCD_ENDPOINTS="http://172.31.50.150:2379"
...
配置kubernetes
vi /etc/kubernetes/config
...
KUBE_MASTER="--master=http://172.31.50.150:8080"
vi /etc/kubernetes/kubelet
...
KUBELET_ADDRESS="--address=0.0.0.0"
...
KUBELET_PORT="--port=10250"
...
KUBELET_HOSTNAME="--hostname-override=172.31.50.145"
...
KUBELET_API_SERVER="--api-servers=http://172.31.50.150:8080"
...
启动组件服务和设置开机启动
systemctl restart kube-proxy
systemctl restart kubelet
systemctl restart docker
systemctl restart flanneld
systemctl enable kube-proxy
systemctl enable kubelet
systemctl enable docker
systemctl enable flanneld
最后
在master上查看节点信息
kubectl get nodes
NAME STATUS AGE
172.31.50.145 Ready 12m
此时,node上已经安装好了docker,master没有安装docker