Bootstrap

Kubernetes二进制部署 单节点

目录

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对外提供服务:

;