栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Kubeadm搭建高可用K8S(一)环境准备

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Kubeadm搭建高可用K8S(一)环境准备

前提:自行安装VMWare

1.准备至少三套CentOS7系统,入门配置:master节点需要4G4C,worker节点需要2G2C

2.每台机器配置好静态IP

3.保证各个机器之间和宿主机之间通信没有问题

一、多master节点单node节点机器配置
集群角色IP主机名安装的组件
Master-1192.168.74.10master01apiserver、controller-manager、scheduler、kubelet、etcd、docker、kube-proxy、keepalived、nginx、calico
Master-2192.168.74.11master02apiserver、controller-manager、scheduler、kubelet、etcd、docker、kube-proxy、keepalived、nginx、calico
Worker-1192.168.74.12worker01kubelet、kube-proxy、docker、calico、coredns
Worker-2192.168.74.13worker02kubelet、kube-proxy、docker、calico、coredns
virtual-ip(VIP)192.168.74.110
二、各机器实验环境准备 配置虚拟机静态IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
配置主机名
# 每一台机器都操作
# 机器之间可以通过主机名访问
hostnamectl set-hostname master1 && bash
# 查看主机状况
hostnamectl
配置主机host文件
vim /etc/hosts
# [ip] [hostname]
192.168.74.10 master01
# 【验证】互相ping域名,能够通
ping master02
ping www.baidu.com
配置主机之间无密码登录
# 要在每一台机器上都执行,且都需要拷贝(两两相互)
# 使得机器之间可以无密码相互访问
ssh-keygen  #一路回车,不输入密码
# 把本地生成的密钥文件和私钥文件拷贝到远程主机
ssh-copy-id master1
ssh-copy-id master2
ssh-copy-id worker1
ssh-copy-id -i /root/.ssh/id_rsa.pub master1
#【验证】在master1上执行
ssh root@master2
# 是否可以无密码跳转登录
ls -a #查看隐藏文件夹 .ssh
关闭交换分区swap
# 要在每一台机器上都操作
# 避免资源耗尽导致k8s异常,提升性能
#1.临时关闭
swapoff -a
#2.永久关闭:注释swap挂载,给swap这行开头加一下注释
vim /etc/fstab
    /dev/mapper/centos-swap swap      swap    defaults        0 0
#如果是克隆的虚拟机,需要删除UUID
# 运行完毕后,查看交换分区情况,执行如下命令:
free -m
修改机器内核参数 
# 要在每一台机器上都操作
# 开启包转发等等(??)
modprobe br_netfilter
​
echo "modprobe br_netfilter" >> /etc/profile
​
cat > /etc/sysctl.d/k8s.conf < 
关闭firewalld防火墙 
# 要在每一台机器上都操作
# 安全相关,kubeadm初始化检测项目
systemctl stop firewalld ; systemctl disable firewalld
# 查看防火墙状态
systemctl status firewalld 
# 或者
firewall-cmd --state
关闭selinux (?)
# 要在每一台机器上都操作
# 安全相关,kubeadm初始化检测项目
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#修改selinux配置文件之后,重启机器,selinux配置才能永久生效
​
#显示Disabled说明selinux已经关闭
getenforce
配置阿里云的repo源
# 要在每一台机器上都操作
# 安装文件操作工具
yum install lrzsz -y
yum install openssh-clients
# 备份repo源(只需要操作Base源即可,其他保留)
mkdir /root/repo.bak
cd /etc/yum.repos.d/
mv CentOS-Base.repo /root/repo.bak/
# 把CentOS-Base.repo文件上传到master1主机的/etc/yum.repos.d/目录下
​
#安装yum-utils
yum -y install yum-utils
# 配置国内阿里云docker的repo源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 配置epel.repo
# 直接上传文件即可
# 最终/etc/yum.repo.d/下有 CentOS-Base.repo、docker-ce.repo、epel.repo
配置安装k8s组件需要的阿里云的repo源 (二进制不需要做)
# 编辑文件
vim  /etc/yum.repos.d/kubernetes.repo
# 内容如下
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
# 使用scp命令将文件copy到其他虚拟机
scp /etc/yum.repos.d/kubernetes.repo master2:/etc/yum.repos.d/
配置时间同步
# 要在每一台机器上都操作
# kubeadm要求的
# 安装时间同步工具
yum install ntpdate -y
# 跟网络时间做同步
ntpdate cn.pool.ntp.org
# 把时间同步做成计划任务
crontab -e
# 内容如下:
* */1 * * * /usr/sbin/ntpdate   cn.pool.ntp.org
# 重启定时服务
service crond restart
开启IPVS
# 要在每一台机器上都操作
# 作用:数据包转发
# 把ipvs.modules脚本上传到master1机器的/etc/sysconfig/modules/目录下,其他可使用scp命令拷贝
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash
# 执行命令并检测
/etc/sysconfig/modules/ipvs.modules && lsmod | grep ip_vs
# 结果如下即可
ip_vs_ftp              13079  0 
nf_nat                 26583  1 ip_vs_ftp
ip_vs_sed              12519  0 
ip_vs_nq               12516  0 
ip_vs_sh               12688  0 
ip_vs_dh               12688  0 
安装基础软件包
# 要在每一台机器上都操作
yum install -y yum-utils device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release openssh-server socat  ipvsadm conntrack ntpdate telnet ipvsadm
安装iptables
# 要在每一台机器上配置
# 由于k8s配置一些规则要用到iptables
yum install iptables-services -y
# 禁用
service iptables stop && systemctl disable iptables
# 清空防火墙规则
iptables -F

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/963414.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号