搭建kubernetes高可用集群-01准备环境

准备环境

部署架构图

kuberntes arch

主机分配

num hostname role ip addr
1 etcd1 etcd 192.168.255.194
2 etcd2 etcd 192.168.255.195
3 etcd3 etcd 192.168.255.196
4 apiserver1 api srever 192.168.255.190
5 apiserver2 api srever 192.168.255.191
6 apiserver3 api srever 192.168.255.192
7 node1 node 192.168.255.200
8 node2 node 192.168.255.201
9 node3 node 192.168.255.202
10 master LB 192.168.255.199
11 master_backup LB 192.168.255.198
12 LBvip vip 192.168.255.197

ETCD节点3台,kube-apiserver节点3台, node节点3台, LB两台主备,VIP一个

controller manager和 scheduler和LB一起部署,所有业务进程统一使用monit进行维护;

主机基本配置

在所有机器禁用selinux

setenforce 0
sed  -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

禁用防火墙

 systemctl stop firewalld 
 systemctl disable firewalld
 systemctl satus firewalld

禁用SWAP

swapoff -a

## 修改/etc/fstab, 注释swap行,如下:
# /etc/fstab
# Created by anaconda on Sun Apr 22 03:04:41 2018
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root  /                       xfs     defaults        0 0
UUID=eb8db29a-d416-49e5-8811-320dba32b88e /boot  xfs     defaults        0 0
#/dev/mapper/centos-swap swap                    swap    defaults        0 0

所有节点设置以下内核参数

cat  > /etc/sysctl.d/k8s.conf << EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl  -p /etc/sysctl.d/k8s.conf

安装目录规划

num 目录路径 用途
1 /data/k8s/script 执行脚本主目录
2 /data/k8s/组件 各组件目录
3 /data/k8s/script/config 公共配置文件目录
4 /data/k8s/script/pid_utils PID进程工具
5 /data/lib/docker docker数据目录
6 /etc/kubernetes/ssl 证书文件存放目录
-------------the end-------------