kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。
这个工具能通过两条指令完成一个kubernetes集群的部署:
###################################################
创建一个 Master 节点
$ kubeadm init
#将一个 Node 节点加入到当前集群中
$ kubeadm join <Master节点的IP和端口 >
1、安装要求
在开始之前,部署Kubernetes集群机器需要满足以下几个条件:
- 一台或多台机器,操作系统 CentOS7.x-86_x64
- 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
- 集群中所有机器之间网络互通
- 可以访问外网,需要拉取镜像
- 禁止swap分区
2.学习目标
- 在所有节点上安装Docker和kubeadm
- 部署Kubernetes Master
- 部署容器网络插件
- 部署 Kubernetes Node,将节点加入Kubernetes集群中
- 部署Dashboard Web页面,可视化查看Kubernetes资源
3.准备环境
- 关闭防火墙:
$ systemctl stop firewalld
$ systemctl disable firewalld
- 关闭selinux:
$ sed -i ‘s/enforcing/disabled/’ /etc/selinux/config $ setenforce 0
- 关闭swap:
$ swapoff -a $ 临时 $ vim /etc/fstab $ 永久
- 添加主机名与IP对应关系(记得设置主机名):
$ cat /etc/hosts
192.168.254.138 k8s-master
192.168.254.139 k8s-node1
- 将桥接的IPv4流量传递到iptables的链:
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=2310720
EOF
$ sysctl --system
4、所有节点安装Docker/kubeadm/kubelet
Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker。
(1)安装Docker