Kubernetes集群部署篇

网友投稿 239 2022-10-18

Kubernetes集群部署篇

一、环境准备

1、机器环境前置条件

当前演示准备3台虚拟机环境,或者是3台阿里云服务器都可

k8s-master01: 此机器用来安装k8s-master的操作环境

k8s-node01: 此机器用来安装k8s node节点的环境

k8s-node02: 此机器用来安装k8s node节点的环境

修改网络配置,确保虚拟机网络连通,Xshell连接

节点CPU核数必须是 :>= 2核 ,否则k8s无法启动

DNS网络: 最好设置为 本地网络连通的DNS,否则网络不通,无法下载一些镜像

linux内核: linux内核必须是 4 版本以上,因此必须把linux核心进行升级

前置环境准备完成

2、依赖环境安装配置

注:每一台机器都要安装此依赖环境

1、给每一台机器设置主机名

hostnamectl set-hostname k8s-master01

hostnamectl set-hostname k8s-node01

hostnamectl set-hostname k8s-node02

查看主机名

hostname

配置IP host映射关系

vi /etc/hosts

192.168.66.10 k8s-master01

192.168.66.11 k8s-node01

192.168.66.12 k8s-node02

2、安装依赖环境

yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat

libseccomp wget vim net-tools git iproute lrzsz bash-completion tree bridge-

utils unzip bind-utils gcc

3、安装iptables,启动iptables,设置开机自启,清空iptables规则,保存当前规则到默认规则

关闭防火墙并设置开机禁用防火墙

systemctl stop firewalld && systemctl disable firewalld

置空iptables

yum -y install iptables-services && systemctl start iptables && systemctl enable

iptables && iptables -F && service iptables save

4、关闭selinux

闭swap分区【虚拟内存】并且永久关闭虚拟内存

swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

关闭selinux

setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

5、升级Linux内核为4.44版本

rpm -Uvh --enablerepo=elrepo-kernel install -y kernel-lt

查询已安装的内核

rpm -qa | grep kernel

查看默认启动项

awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

上面命令中找到新内核的名称,替换后执行下面命令,令开机从新内核启动

grub2-set-default 'CentOS Linux (4.4.230-1.el7.elrepo.x86_64) 7 (Core)'

重启机器 注意:设置完内核后,需要重启服务器才会生效

reboot

重启后查询内核

uname -r

6、调整内核参数,对于k8s

cat > kubernetes.conf <

net.bridge.bridge-nf-call-iptables=1

net.bridge.bridge-nf-call-ip6tables=1

net.ipv4.ip_forward=1

net.ipv4.tcp_tw_recycle=0

vm.swappiness=0

vm.overcommit_memory=1

vm.panic_on_oom=0

fs.inotify.max_user_instances=8192

fs.inotify.max_user_watches=1048576

fs.file-max=52706963

fs.nr_open=52706963

net.ipv6.conf.all.disable_ipv6=1

net.netfilter.nf_conntrack_max=2310720

EOF

将优化内核文件拷贝到/etc/sysctl.d/文件夹下,这样优化文件开机的时候能够被调用

cp kubernetes.conf /etc/sysctl.d/kubernetes.conf

手动刷新,让优化文件立即生效

sysctl -p /etc/sysctl.d/kubernetes.conf

上面手动刷新会有这个异常,忽略即可,是因为有一个组件没有加载

sysctl: cannot stat /proc/sys/net/netfilter/nf_conntrack_max: No such file or

directory

7、调整系统临时区 (如果已设置可略过)

设置系统时区为中国/上海

timedatectl set-timezone Asia/Shanghai

将当前的 UTC 时间写入硬件时钟

timedatectl set-local-rtc 0重启依赖于系统时间的服务

systemctl restart rsyslog

systemctl restart crond

8、关闭系统不需要的服务

systemctl stop postfix && systemctl disable postfix

9、设置日志保存方式

创建保存日志的目录

mkdir /var/log/journal

创建配置文件存放目录

mkdir /etc/systemd/journald.conf.d

创建配置文件

cat > /etc/systemd/journald.conf.d/99-prophet.conf <

[Journal]

Storage=persistent

Compress=yes

SyncIntervalSec=5m

RateLimitInterval=30s

RateLimitBurst=1000

SystemMaxUse=10G

SystemMaxFileSize=200M

MaxRetentionSec=2week

ForwardToSyslog=no

EOF

重启systemd journald的配置

systemctl restart systemd-journald

10、打开文件数调整 (可忽略,不执行)

echo "* soft nofile 65536" >> /etc/security/limits.conf

echo "* hard nofile 65536" >> /etc/security/limits.conf

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot配置actuator的代码
下一篇:Kubernetes集群部署篇1
相关文章

 发表评论

暂时没有评论,来抢沙发吧~