k8s之k8s集群部署
一、kubernetes基础环境搭建
1.安装虚拟机
2. 基础环境配置
2.1 关闭防火墙 更改主机名
#系统更新
sudo dnf update -y
# 关闭防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld# 临时关闭 SELinux
sudo setenforce 0# 永久关闭 SELinux
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config# 临时禁用 Swap
sudo swapoff -a# 永久禁用 Swap
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
#为每个节点设置唯一的主机名,例在主节点上执行:
sudo hostnamectl set-hostname kube-master
#编辑
/etc/hosts
文件,添加所有节点的 IP 地址和主机名映射vim /etc/hosts
2.2 加载内核模块并配置 sysctl 参数
# 加载内核模块
sudo modprobe br_netfilter
# 配置 sysctl 参数
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF# 使配置生效
sudo sysctl --system
#验证是否成功
lsmod | grep br_netfilter
3. 安装 Docker
3.1 添加 Docker 软件源
[root@localhost ~]# sudo dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
添加仓库自:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.2 安装 Docker
[root@localhost ~]# sudo dnf install -y docker-ce docker-ce-cli containerd.io
3.3 配置 Docker Cgroup Driver
创建/etc/docker/daemon.json
文件:
sudo tee /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},"storage-driver": "overlay2"
}
EOF
#设置开机自启动
sudo systemctl start docker
sudo systemctl enable docker
4. 安装 Kubernetes 组件
4.1 添加 Kubernetes 软件源
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
#清除 DNF 缓存并重新生成元数据:
sudo dnf clean all
sudo dnf makecache
4.2 安装 kubelet、kubeadm 和 kubectl
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
4.3 启动并设置 kubelet 开机自启
sudo systemctl start kubelet
sudo systemctl enable kubelet