ks8集群搭建
.准备前工作
我们这里采用三台主机 系统CentOS 7.6 源更换为国内阿里源(这样下载速度更快)
备份源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
运行
yum makecache
备份源:
server1:10.0.1.41
server2:10.0.1.42
server3:10.0.1.43
关闭系统运行的防火墙及selinux
1.如果系统开启了防火墙则按如下步骤关闭防火墙(所有机器)
systemctl stop firewalld
systemctl disable firewalld
2.关闭selinux
1.# setenforce 0
2.#sed -i '/^SELINUX=/cSELINUX=disabled' /etc/sysconfig/selinux
二、MASTER安装配置
- 在10.0.1.41安装并配置Kubernetes master(yum 方式)
yum -y install etcd kubernetes
配置etcd #vim /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"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
配置kubernetes
vim /etc/kubernetes/apiserver
KUBE_API_ADDRESS="--address=0.0.0.0"KUBE_API_PORT="--port=8080"
KUBELET_PORT="--kubelet_port=10250"
KUBE_ETCD_SERVERS="--etcd_servers=http://127.0.0.1:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
KUBE_API_ARGS=""
三、启动启动etcd, kube-apiserver, kube-controller-manager and kube-scheduler服务
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES ; done
如图所示

四、设置etcd网络
# etcdctl mk /atomic.io/network/config '{"Network":"10.1.0.0/16"}'
注意:启动ETCD,设置键值:etcdctl set /atomic.io/network/config '{ "Network": "10.1.0.0/16" }' 此处最好不要掩到24位,不然在其他机器上启动flanneld的时候有可能分配不到子网,导致服务失败。
cluster-health检查
etcdctl -C http://10.0.1.41:2379 cluster-health
member 8e9e05c52164694d is healthy: got healthy result from http://10.0.1.41:2379
cluster is healthy
配置etcd中关于flannel的key
mk /atomic.io/network/config '{"Network":"10.1.0.0/16"}'
flanneld启动:
systemctl start flanneld.service
systemctl enable flanneld.service
五、master配置完成
运行kubectl get nodes 可以查看有多少任务在运行及其状态。因这里我们还没未开始安装配置,所以运行结果为空。

六、docker安装
安装命令:yum install docker -y
开启docker服务:service docker start
设置docker开启自启动:chkconfig docker on
node节点服安装
一、安装kubernetes flannel
# yum -y install flannel kubernetes
配置kubernetes连接到服务器IP
#vim /etc/kubernetes/config
KUBE_MASTER="--master=http://10.0.1.41:8080"
KUBE_ETCD_SERVERS="--etcd_servers=http://10.0.1.41:2379"

配置kubernetes
#vim /etc/kubernetes/kubelet
KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_PORT="--port=10250"
# change the hostname to this host’s IP address KUBELET_HOSTNAME="--hostname_override=$LOCALIP"
KUBELET_API_SERVER="--api_servers=http://10.0.1.41:8080"
KUBELET_ARGS=""

启动
for SERVICES in kube-proxy kubelet docker flanneld; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
启动kube服务
systemctl start kubelet.service
systemctl start kube-proxy.service
设置k8s组件开机自启
systemctl enable kubelet.service
systemctl enable kube-proxy.service
登陆主节点master验证
$ kubectl get nodes
NAME STATUS AGE
10.0.1.42 Ready 38m
10.0.1.43 Ready 20m
查看端点信息:
kubectl get endpoints

kubectl cluster-info

测试通过节点信息完整 就可以准备接下来的步骤了
