首页 > 其他分享 >二机制安装Kubernetes 1.29 高可用集群(1)--系统初始配置

二机制安装Kubernetes 1.29 高可用集群(1)--系统初始配置

时间:2024-02-18 22:24:05浏览次数:34  
标签:Kubernetes -- 192.168 etc 1.29 docker k8s root 节点

软件环境描述说明:

网段规划:

物理主机:192.168.83.0/24       Service IP:10.66.0.0/16      Pod IP:172.31.0.0/16

服务器规划:

角色 IP地址 组件 节点归属

k8s-haproxy01

192.168.83.201

VIP:192.168.83.200

haproxy/keepalived (Load Balancer kube-apiserver Master) haproxy

k8s-haproxy02

192.168.83.202

VIP:192.168.83.200
haproxy/keepalived (Load Balancer kube-apiserver Backup) haproxy
k8s-master-etcd01 192.168.83.210 kube-apiserver/kube-controller-manager/kube-scheduler/etcd k8s和etcd
k8s-master-etcd02 192.168.83.211 kube-apiserver/kube-controller-manager/kube-scheduler/etcd k8s和etcd
k8s-etcd03 192.168.83.212 etcd etcd
k8s-node01 192.168.83.220 kubelet/kube-proxy/docker k8s
k8s-node02 192.168.83.221 kubelet/kube-proxy/docker k8s

参考文档:

https://www.cnblogs.com/xmwan/p/17940137

https://gitee.com/cby-inc/Kubernetes/blob/main/doc/v1.28.3-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves-Offline.md

1. 将所有节点openEuler系统显示时间修改为24小时制

cat >> /etc/profile << EOF
export LC_TIME=POSIX
EOF

source /etc/profile

2. 所有节点关闭防火墙和selinux

systemctl stop firewalld && systemctl disable firewalld
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
sestatus

3.1 所有k8s节点安装软件包

dnf -y install net-tools lrzsz nmap lsof bash-completion ipset ipvsadm chrony socat conntrack ebtables tar

cat > /etc/bash.bashrc << EOF
# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi
EOF

source /etc/bash.bashrc

3.2 所有haproxy和etcd节点安装软件包

dnf -y install net-tools lrzsz nmap lsof chrony tar

4. 1 所有k8s-node节点安装docker

#添加docker安装源
dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#因docker源中没有openEuler的版本,需要将$releasever替换为openEuler兼容的CentOS8
sed -i s/\$releasever/8/g /etc/yum.repos.d/docker-ce.repo

#安装docker-ce
dnf -y install docker-ce

#添加docker镜像加速源
cat > /etc/docker/daemon.json << EOF
{
        "exec-opts": ["native.cgroupdriver=systemd"],
        "registry-mirrors":["https://hub-mirror.c.163.com",
                            "https://docker.mirrors.ustc.edu.cn"]
}
EOF

4.2 启动所有k8s-node节点docker

systemctl enable --now docker
docke info

5.1 将两个haproxy节点配置为NTP Server

vi /etc/chrony.conf
pool ntp.aliyun.com iburst
pool ntp.tencent.com iburst
allow 192.168.83.0/24

systemctl enable --now chronyd

#验证同步状态
chronyc sourcestats -v

5.2 其它各节点与两个haproxy节点做时间同步 

vi /etc/chrony.conf
pool 192.168.83.201 iburst
pool 192.168.83.202 iburst

systemctl enable --now chronyd 

chronyc sourcestats -v

6. 所有节点配置hosts

cat >> /etc/hosts << EOF
192.168.83.201 k8s-haproxy01
192.168.83.202 k8s-haproxy02
192.168.83.210 k8s-master-etcd01
192.168.83.211 k8s-master-etcd02
192.168.83.212 k8s-etcd03
192.168.83.220 k8s-node01
192.168.83.221 k8s-node02
EOF

7. 所有k8s节点设置ulimit进程资源限制参数

ulimit -SHn 65535

cat >> /etc/security/limits.conf << EOF
* soft nofile 655360
* hard nofile 131072
* soft nproc 655350
* hard nproc 655350
* seft memlock unlimited
* hard memlock unlimitedd
EOF

8.1 所有k8s节点加载containerd所需的br_netfilter和overlay模块

cat > /etc/modules-load.d/containerd.conf << EOF
overlay
br_netfilter
EOF

#加载模块
modprobe overlay && modprobe br_netfilter

#查看是否加载
lsmod | grep br_netfilter
lsmod | grep overlay

8.2 所有k8s节点配置内核路由转发及网桥过滤并关闭swap

vi /etc/sysctl.conf
将net.ipv4.ip_forward=0
改为
net.ipv4.ip_forward=1
#最后添加以下内容
###k8s Config###
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
vm.swappiness=0
user.max_user_namespaces=28633

sysctl -p

9 .所有k8s节点配置ipvsadm模块加载

cat > /etc/sysconfig/modules/ipvs.modules << EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF

#授权并运行
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules
echo 'bash /etc/sysconfig/modules/ipvs.modules' >> /etc/rc.local && chmod a+x /etc/rc.d/rc.local

#查看是否加载
lsmod | grep -e ip_vs -e nf_conntrack

10. 所有k8s节点关闭swap分区

vi /etc/fstab
......
#在加载swap的行前添加#号
#/dev/mapper/openeuler-swap none  swap defaults  0 0

#重启后生效,不重启临时关闭命令
swapoff -

11. 设置从k8s-master-etcd01节点免密登录到其他节点

[root@k8s-master-etcd01]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:D9YQOzG0M90OWqnQxZCMCTDd4zLVebxk5WEupwKUKjQ root@k8s-master-etcd01
The key's randomart image is:
+---[RSA 3072]----+
|  oo.o.B**..+    |
|  E...B.=O** .   |
| . . +o.O+*.=    |
|  . + .o X.*     |
|   . o  S o .    |
|       . +       |
|          .      |
|                 |
|                 |
+----[SHA256]-----+

[root@k8s-master-etcd01]# ssh-copy-id root@k8s-master-etcd02
[root@k8s-master-etcd01]# ssh-copy-id root@k8s-etcd03
[root@k8s-master-etcd01]# ssh-copy-id root@k8s-node01
[root@k8s-master-etcd01]# ssh-copy-id root@k8s-node02

 

标签:Kubernetes,--,192.168,etc,1.29,docker,k8s,root,节点
From: https://www.cnblogs.com/cn-jasonho/p/18014425

相关文章

  • Window10 通过 SSH 访问 Docker 容器
    参考https://zhuanlan.zhihu.com/p/462481693https://blog.csdn.net/piaopu0120/article/details/120550181https://blog.csdn.net/qq_27865227/article/details/121649574https://blog.csdn.net/fighterandknight/article/details/124478429环境软件/系统版本说明......
  • 二机制安装Kubernetes 1.29 高可用集群(6)--calico网络组件和CoreDNS配置
    1.部署Calico网络组件1.1k8s-master节点上下载calico的创建文件下载地址:https://docs.tigera.io/calico/latest/getting-started/kubernetes/quickstartwgethttps://raw.githubusercontent.com/projectcalico/calico/v3.27.2/manifests/tigera-operator.yamlwgethttps://ra......
  • 思维导图工具Xmind
    下载链接:https://pan.baidu.com/s/12wVLRIrwy4rOzvMuzy8ofg?pwd=h008xmind免费安装使用教程_xmind安装csdn-CSDN博客......
  • 《程序是怎样跑起来的》第一章其余节
    读书笔记:1.2:寄存器的类型及功能:累加器——存放执行运算的数据和运算结果;标志寄存器:存放运算后的CPU的状态;程序计算器:存放下一条指令所在内存的地址;基址寄存器:存放数据内存的起始地址;变址寄存器:存放基址寄存器的相对地址;通用寄存器:存放任意数据;指令寄存器:存放指令。这个寄存器由CPU......
  • 数组 容器 递归 普通排序 线性排序
    《数据结构与算法之美》读书笔记写在前面这本书的大部分内容比较浅显,因此只挑DSAA课程上没有涉及或没有深入讨论的点总结第二章数组相关提高传统数组插入/删除数据效率的方法:如果插入的数据不要求有序,可以直接把某位的原数据替换成新数据,然后把原数据放到数组末尾,避免大......
  • .NET周刊【2月第1期 2024-02-04】
    祝大家新年快乐,龙年大吉~国内文章C#/.NET/.NETCore优秀项目和框架2024年1月简报https://www.cnblogs.com/Can-daydayup/p/18000401本文介绍了公众号“追逐时光者”定期分享的C#/.NET/.NETCore优秀项目和框架,包括项目介绍、功能特点、使用方式和功能截图,并提供了源码地址。文......
  • EPLAN插件 - 设置导出PDF路径并自动备份PDF
    前言EPLAN导出PDF默认路径为$(DOC),此路径在嵌套很深,每次点都感觉很麻烦,在工作中经常会要求备份PDF图纸的要求。需要导出PDF要找到相应的文件然后复制到指定的文件夹,总感觉非常的麻烦。于是写了这个插件。此插件设置导出PDF的路径在项目文件同级文件夹中新建PDF文件夹,同时可以设置......
  • 代码随想录 day54 买卖股票
    买卖股票的最佳时机III这题可以一天进行两次交易解法增加了两种状态虽然不知道为什么这样就可以work但是挺符合逻辑的意思就是把之前的两天交易合到一天进行计算收益也在之前一次交易基础上进行计算买卖股票的最佳时机IV这题就是这类问题的最难情况解法的思想就是......
  • HH的项链
    题目描述HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答。。。......
  • 理想的正方形——题解
    题目描述一看正方形,得,二维数组,单调队列。单调队列可以将一个区间最大值存储,所以只需要根据给定的正方形长度先横着推一遍,再竖着推一遍,将正方形中的最大值和最小值都储存在正方形右下角方格,最后遍历即可。先以行储存以k为长度的最大/小值;再以剩下k-m横向长度的最值向下扩展k个......