用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
容器及微服务
›
容器及微服务
›
第一章 1.1.1节 Kubeadm安装K8S高可用集群
第一章 1.1.1节 Kubeadm安装K8S高可用集群
王海鱼
论坛元老
|
2023-3-19 05:07:20
|
显示全部楼层
|
阅读模式
楼主
主题
1850
|
帖子
1850
|
积分
5550
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
1.1 安装前必读
请不要使用带中文的服务器和克隆的虚拟机。
生产环境建议使用二进制的方式安装。
文档中的IP地址要更换成自己的IP地址,要谨记!!!
1.2 基本环境配置
kubeadm安装方式自1.14版本以后,安装方法几乎没有任何变化,此文档可以尝试安装最新的K8S集群,centos采用的是7.x版本。
K8S官网:
https://kubernetes.io/docs/setup/
最新版高可用安装:
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/
1.2.1 高可用Kubernetes集群规划
主机名
IP地址
说明
k8s-master01
10.3.50.11
master节点1
k8s-master02
10.3.50.12
master节点02
k8s-master03
10.3.50.13
master节点03
k8s-master-lb
10.3.50.100
keepalived虚拟IP
k8s-node01
10.3.50.14
worker节点01
k8s-node02
10.3.50.15
worker节点02
配置信息
备注
系统版本
CentOS 7.9
Docker版本
20.10.x
Pod网段
10.16.0.0/12
Service网段
10.244.0.0、16
注意:宿主机网段、k8s Service网段、Pod网段不能重复!!!
VIP(虚拟IP)不要和公司内网IP重复,首先去ping一下,不通才可用。VIP需要和你的主机在同一个局域网内(不是直接用上述IP,要和本主机网段相同)!
公有云上搭建VIP是公有云的负载均衡的IP,比如阿里云的内网SLB的地址,腾讯云内网ELB的地址。不需要再搭建keepalived和haproxy!
1.2.2 基本环境配置
所有节点配置hosts,修改/etc/hosts如下:
注意用自己本机的IP地址!!!
[root@k8s-master01 ~]# vim /etc/hosts<br>10.3.50.11 k8s-master01<br>10.3.50.12 k8s-master02<br>10.3.50.13 k8s-master03<br>10.3.50.100 k8s-master-lb # 如果不是高可用集群,该IP为master01的IP!<br>10.3.50.14 k8s-node01<br>10.3.50.15 k8s-node02
复制代码
CentOS 7安装yum源如下:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
复制代码
cat <<EOF > /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
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF<br>
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
复制代码
所有节点配置limit:
yum install wget jq psmisc vim net-tools telnet yum-utils device-mapper-persistent-data lvm2 git -y
复制代码
vim /etc/security/limits.conf
# 末尾添加如下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 65535
* hard nproc 655350
* soft memlock unlimited
* hard memlock unlimited
master01节点免密钥登陆其他节点,安装过程中生成配置文件和证书均在master上操作,集群管理也在master01上操作,阿里云或者AWS上需要单独一台kubectl服务器。密钥配置如下:
systemctl disable --now firewalld
systemctl disable --now dnsmasq
systemctl disable --now NetworkManager # 公有云不要关闭
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
复制代码
下载安装所有的源码文件:
swapoff -a && sysctl -w vm.swappiness=0
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab
复制代码
如果无法下载就下载:
https://gitee.com/dukuan/k8s-ha-install.git
所有节点升级系统并重启,此处没有升级内核。
rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
yum install ntpdate -y
复制代码
1.3 内核配置
CentOS 7需要升级内核至4.18+,本地升级的版本为4.19。
在master01节点下载内核!
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'Asia/Shanghai' >/etc/timezone
ntpdate time2.aliyun.com<br>crntab -e
# 加入到crontab
*/5 * * * * /usr/sbin/ntpdate time2.aliyun.com
复制代码
从master01节点传到其他节点:
ulimit -SHn 65535
复制代码
所有节点安装内核
ssh-keygen -t rsa
for i in k8s-master01 k8s-master02 k8s-master03 k8s-node01 k8s-node02;do ssh-copy-id -i .ssh/id_rsa.pub $i;done
复制代码
所有节点更改内核启动顺序
cd /root/
git clone https://github.com/dotbalo/k8s-ha-install.git
git clone https://gitee.com/dukuan/k8s-ha-install.git # 如果上面的无法下载就使用这个
复制代码
检查默认内核是不是4.19
yum update -y --exclude=kernel* && reboot # CentOS 7需要升级,CentOS 8可以按需升级系统
复制代码
所有节点重启,然后检查内核是不是4.19
cd /root
wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-4.19.12-1.el7.elrepo.x86_64.rpm
wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-4.19.12-1.el7.elrepo.x86_64.rpm
复制代码
所有节点安装ipvsadm:
for i in k8s-master02 k8s-master03 k8s-node01 k8s-node02;do scp kernel-ml-4.19.12-1.el7.elrepo.x86_64.rpm kernel-ml-devel-4.19.12-1.el7.elrepo.x86_64.rpm $i:/root/ ; done
复制代码
所有节点配置ipvs模块,在内核4.19+版本nf_conntrack_ipv4已经改为nf_conntrack,4.18以下使用nf_conntrack_ipv4即可:
cd /root && yum localinstall -y kernel-ml*
复制代码
然后执行systemctl enable --now systemd-modules-load.service即可
开启一些k8s集群中必须的内核参数,所有节点配置k8s内核:
[code]cat
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
王海鱼
论坛元老
这个人很懒什么都没写!
楼主热帖
在Winform开发中,使用Async-Awati异步 ...
Vue 和 Django 前后端分离实践 (注册 ...
如何在 Vue 3 中使用<script lang=“t ...
C#依赖注入(直白明了)讲解 一看就会系 ...
一条SQL的执行原理
go中 for循环的坑
Vulnhub之Monkeybox详细测试过程(不同 ...
clickhouse的稀疏索引
【Django】DRF开发中的一些技巧记录 ...
教务管理系统——数据库课程设计mysql+ ...
标签云
集成商
AI
运维
CIO
存储
服务器
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表