目录
1.环境准备
1.关闭防火墙和selinux
2.关闭swap
3.设置主机名
4.在master添加hosts
5.桥接的IPv4流量传递到iptables的链
6.时间同步
2.部署etcd集群
1.master节点部署
2.在node1与node2节点修改
3.在master1节点上进行启动
4.部署docker引擎
3.部署 Master 组件
1.在 master01 节点上操作
4.部署node组件
5.flannel网络配置
1.K8S中Pod网络通信
2.Flannel工作原理
3.在所有node01 节点上操作
4.在 master01 节点上操作
1.环境准备
k8s集群master01 | 192.168.156.10 | kube-apiserver kube-controller-manager kube-scheduler etcd | 2核2G |
k8s集群node1 | 192.168.156.140 | kubelet kube-proxy docker flannel | 2核2G |
k8s集群node2 | 192.168.156.150 | kubelet kube-proxy docker flannel | 2核2G |
1.关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0 #临时关闭
sed -i 's/enforcing/disabled/' /etc/selinux/config #永久关闭
2.关闭swap
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab
3.设置主机名
hostnamectl set-hostname master01
hostnamectl set-hostname node01
hostnamectl set-hostname node02
4.在master添加hosts
cat >> /etc/hosts <<EOF
192.168.156.10 master01
192.168.156.140 node01
192.168.156.150 node02
EOF
5.将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF<br><br>sysctl --system
6.时间同步
yum -y install ntpdate
ntpdate time.windows.com
2.部署etcd集群
tcd作为服务发现系统,有以下的特点:
(1) 简单、安装配置简单,而且提供了HTTP API进行交互,使用也很简单;
(2)安全: 支持SSL证书验证;
(3)快速: 单实例支持每秒2k+读操作;
(4)可靠: 采用raft算法实现分布式系统数据的可用性和一致性。
准备签发证书环境:
CFSSL是CloudFlare 公司开源的一款PKI/TLS工具。CESSL 包含一个命令行工具和一个用于签名、验证和捆绑TLS证书的HTTP API服务。使用Go语言编写。
CFSSL使用配置文件生成证书,因此自签之前,需要生成它识别的json 格式的配置文件,CFSSL 提供了方便的命令行生成配置文件。
CFSSL用来为etcd提供TLS证书,它支持签三种类型的证书:
1、client证书,服务端连接客户端时携带的证书,用于客户端验证服务端身份,如kube-apiserver 访问etcd;
2、server证书,客户端连接服务端时携带的证书,用于服务端验证客户端身份,如etcd对外提供服务: