部署单Master的K8s集群
kubeadm方式
文章目录
一,前置知识点
1.1 生产环境可部署Kubernetes集群的两种方式
目前生产部署Kubernetes集群主要有两种方式:
- kubeadm
Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。 - 二进制包
从github下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。
这里采用kubeadm搭建集群。
kubeadm工具功能:
kubeadm init:初始化一个Master节点
kubeadm join:将工作节点加入集群
kubeadm upgrade:升级K8s版本
kubeadm token:管理 kubeadm join 使用的令牌
kubeadm reset:清空 kubeadm init 或者 kubeadm join 对主机所做的任何更改
kubeadm version:打印 kubeadm 版本
kubeadm alpha:预览可用的新功能
1.2 准备环境
服务器要求:
-建议最小硬件配置:2核CPU、2G内存、20G硬盘
-服务器最好可以访问外网,会有从网上拉取镜像需求,如果服务器不能上网,需要提前下载对应镜像并导入节点
软件环境:
主机名 | 操作系统版本 | IP地址 | 服务 | 服务 |
---|---|---|---|---|
master | Centos7 | 192.168.67.152 | kubelet-1.21.0 | docker-ce-19.03.1 |
node1 | Centos7 | 192.168.67.153 | kubelet-1.21.0 | docker-ce-19.03.1 |
node2 | Centos7 | 192.168.67.154 | kubelet-1.21.0 | docker-ce-19.03.1 |
架构图:
1.3 操作系统初始化配置【所有节点】
yum -y install ntpdate vim lrzsz wget ntp-tools
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#关闭selinux
sed -i ‘s/enforcing/disabled/’ /etc/selinux/config # 永久
setenforce 0 # 临时
#关闭swap
swapoff -a # 临时
sed -ri ‘s/.swap./#&/’ /etc/fstab # 永久
#查看是否开启swap,没有输出表示没有启用swap分区文件
sudo swapon --show
#根据规划设置主机名
hostnamectl set-hostname
#添加hosts
cat >> /etc/hosts << EOF
192.168.67.152 k8s-master
192.168.67.153 k8s-node1
192.168.67.154 k8s-node2
EOF