-
准备三台linux服务器,每台服务器配置2G内存和2CPU
角色 主机名 IP地址
Master master 192.168.233.139
Node node1 192.168.233.140
Node node2 192.168.233.141 -
配置 /etc/hosts
192.168.233.139 master
192.168.233.140 node1
192.168.233.141 node2
- 关闭防火墙、selinux
iptalbes -F #
systemctl stop firewalld #
setenforce 0 # vim /etc/selinux disabled
4.Kubernets搭建
- 在各个节点上安装k8s组件(master,node1,node2)
yum install -y kubernetes etcd flannel ntp
2.(1)配置etcd
命令:vim /etc/etcd/etcd.conf #修改以下配置
ETCD_LISTEN_CLIENT_URLS=“http://localhost:2379,http://192.168.233.139:2379”
ETCD_NAME=“etcd”
ETCD_ADVERTISE_CLIENT_URLS=“http://192.168.233.139:2379”
(2)启动服务
systemctl start etcd
systemstatus etcd
systemctl enable etcd
(3) 查看状态
ss -antulp | grep etcd
(4)查看etcd 集群成员列表
3. 配置master 服务器
(1)配置master 配置文件
命令:vim /etc/kubernetes/config #修改如下配置
KUBE_MASTER=“–master=http://192.168.175.3:8080
(2) 配置apiserver文件
命令:vim /etc/kubernetes/apiserver
KUBE_API_ADDRESS=”–insecure-bind-address=0.0.0.0"
KUBE_ETCD_SERVERS=“–etcd-servers=http://192.168.175.3:2379”
KUBE_ADMISSION_CONTROL=“–admission-control=AlwaysAdmit”
(3)配置 kube-scheduler 配置文件
命令:[root@master ~]# vim /etc/kubernetes/scheduler
KUBE_SCHEDULER_ARGS=“0.0.0.0”
4.(1) 配置 etcd,指定容器云中 docker 的 IP 网段
命令:[root@master ~]# etcdctl mkdir /k8s/network
命令:[root@master ~]# etcdctl set /k8s/network/config ‘{“Network”: “10.255.0.0/16”}’
命令:[root@master ~]# etcdctl get /k8s/network/config
(2)设置flanneld服务
命令:[root@master ~]# vim /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS=“http://192.168.175.3:2379”
FLANNEL_ETCD_PREFIX=“/k8s/network”
FLANNEL_OPTIONS=“–iface=ens33” #设置自己的通信物理网卡
命令:[root@master ~]# systemctl restart flanneld #重启服务
(3)检查所有配置
命令:[root@master ~]# cat /run/flannel/subnet.env
FLANNEL_NETWORK=10.255.0.0/16
FLANNEL_SUBNET=10.255.94.1/24
FLANNEL_MTU=1472
FLANNEL_IPMASQ=false
命令:[root@master ~]# cat /run/flannel/docker
5. 启动master上4个服务
命令:[root@master ~]# systemctl restart kube-apiserver kube-controller-manager kube-scheduler flanneld
命令:[root@master ~]# systemctl status kube-apiserver kube-controller-manager kube-scheduler flanneld
命令:[root@master ~]# systemctl enable kube-apiserver kube-controller-manager kube-scheduler flanneld
- 配置minion节点服务器
注意:minion各节点配置相同,这边已node1为例
(1)配置flanneld服务
命令:[root@node1 ~]# vim /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS=“http://192.168.175.3:2379”
FLANNEL_ETCD_PREFIX=“/k8s/network”
FLANNEL_OPTIONS=“–iface=ens33”
(2)命令:[root@node1 ~]# vim /etc/kubernetes/config
KUBE_MASTER=“–master=http://192.168.175.3:8080”
(3)命令:[root@node1 ~]# vim /etc/kubernetes/kubelet
KUBELET_ADDRESS=“–address=0.0.0.0”
KUBELET_HOSTNAME=“–hostname-override=node1”
KUBELET_API_SERVER=“–api-servers=http://192.168.175.3:8080”
KUBELET_POD_INFRA_CONTAINER=“–pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest”
(4)启动node1服务
命令:[root@node1 ~]# systemctl restart flanneld kube-proxy kubelet docker
命令:[root@node1 ~]# systemctl enable flanneld kube-proxy kubelet docker
命令:[root@node1 ~]# systemctl status flanneld kube-proxy kubelet docker
7.查看服务是否安装成功(在master上查看)
命令:[root@master ~]# kubectl get nodes
NAME STATUS AGE
node1 Ready 2h
node2 Ready 25s