K8S node节点配置

1.开始操作之前要先关闭防火墙,SELinux,swap分区

cpp 复制代码
关闭防火墙
sudo systemctl stop firewalld

关闭SELinux
sudo setenforce 0                                                                # 临时关闭
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config      # 永久关闭

关闭swap分区
swapoff -a                                # 临时关闭
sed -i.bak '/swap/s/^/#/' /etc/fstab      # 永久关闭

2.安装docker,这里不再做过多描述,步骤请参考:centos/linux在线安装docker

3.更改daemon.json文件,指定 Docker 守护进程使用的 cgroup 驱动程序

vim /etc/docker/daemon.json (如果没有就创建一个)

复制代码
{
    "exec-opts": ["native.cgroupdriver=systemd"]
}

4.重启docker

复制代码
systemctl restart docker

5.修改hosts文件 k8smaster为主机地址,下面为node节点地址,有几个加几个

复制代码
cat >> /etc/hosts << EOF
192.168.47.99  k8smaster
192.168.47.136 node2
EOF

6.修改内核参数,确保容器内外的网络安全性和通信能力

cpp 复制代码
cat >> /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

7.设置kubernetes源

cpp 复制代码
cat >> /etc/yum.repos.d/kubernetes.repo << EOF
[node2]
name=node2
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

++第7步注释:++

  • [node名称]: 这是yum存储库的一个标识符,用于标识存储库的名称,node名称即可
  • name=node2: 这是存储库的名称,可读的名称,node名称即可
  • baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/: 这是存储库的基本 url,指定了存储库中软件包的位置。在这里,指向了阿里云的 Kubernetes yum 存储库
  • enabled=1: 这是一个布尔值,用于指示存储库是否启用。1为启用,即yum将从该存储库中获取软件包
  • gpgcheck=1: 这也是一个布尔值,用于指示是否应该检查软件包的gpg签名以验证其完整性。值为1表示启用了gpg检查
  • repo_gpgcheck=1: 类似于 gpgcheck,用于指示是否应该检查存储库的gpg签名。1表示启用了对存储库gpg签名的检查
  • https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg: 这里用于验证存储库和软件包签名的gpg密钥的url。这些密钥将用于验证从存储库中下载的软件包的完整性和真实性

######8-9也可以不用操作,为了严谨还是清理更新一下缓存

8.清理yum缓存

cpp 复制代码
yum clean all

9.更新yum缓存

cpp 复制代码
yum -y makecache

10.安装kubelet、kubeadm、kubectl

选择适合自己的版本安装,地址:Kubernetes版本

注意:docker版本要在k8s版本兼容范围之内,不然会有警告,不过问题也不是很大

cpp 复制代码
sudo yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9 --disableexcludes=kubernetes

11.启动kubelet并将kubelet设置开机自启

cpp 复制代码
sudo systemctl start kubelet && systemctl enable  kubelet

12.下载镜像,下载每个节点所需要的镜像

cpp 复制代码
sudo cat >> ./images.sh << EOF
#!/bin/bash
images=(
kube-apiserver:v1.20.9
kube-proxy:v1.20.9
kube-controller-manager:v1.20.9
kube-scheduler:v1.20.9
coredns:1.7.0
etcd:3.4.13-0
pause:3.2
)
for imageName in ${images[@]} ; do
docker pull registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/$imageName
done
EOF

13.运行镜像脚本文件

cpp 复制代码
chmod +x ./images.sh && ./images.sh

14.加入集群

复制master节点中kubeadm init最后的那两行kubaadm join XXXXXXXXX

在node节点中执行kubaadm join XXXXXXXXX

如果找不到join的命令,就重新生成一个(在master节点执行)

cpp 复制代码
kubeadm token create --print-join-command

15.成功加入后的截图


警告:

安装kubelet、kubeadm、kubectl后kubelet会一直处于重启状态,不要在意status状态码是什么,在init之前或者加入集群之前kubelet都不会启动,启动会占用10250端口,一旦端口被占用就无法加入集群,具体请参考:K8S,node节点join失败,kubelet启动失败

相关推荐
梦想的颜色7 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
donoot9 小时前
Linux系统下图书馆级电子书全自动标准化分类整理完整实施方案
大数据·linux·运维·电子书管理
Felix-lxd10 小时前
Ubuntu 22.04 配置 Nginx
linux·nginx·ubuntu
万里侯10 小时前
GitOps 漂移检测:集群里改了配置,Git 还以为一切正常
微服务·容器·k8s
Tim_Van11 小时前
在 CentOS 7 中安装 Chromium 的完整步骤
linux·运维·chrome·centos
2023自学中11 小时前
C++ 内存追踪器
linux·c++
啵啵鱼爱吃小猫咪13 小时前
Ubuntu 20.04 + ROS Noetic 源码安装 libfranka 0.8.0 和 franka_ros 0.8.0 完整教程
linux·运维·ubuntu
ljs64827395114 小时前
Linux运维实操:vi编辑器永久配置静态IP(CentOS系列)
linux·运维·编辑器
dddwjzx14 小时前
嵌入式Linux C应用编程入门——高级I/O
linux·嵌入式
AOwhisky14 小时前
Python 学习笔记(第三期)——流程控制:条件判断与循环结构
运维·笔记·python·学习·云原生·流程控制·循环