最全k8s安装指南!!!

首先我是根据这个博主的视频来安装的,真的很全,安装了两边才成功,其中也遇到了一些大家遇到的通用问题,在这里记录一下。希望帮到大家。

!B站教程:【马士兵教育】云原生:助力数字化转型 引领未来发展,2023年最新版云原生架构师完整教程(K8s+golang+代驾项目+dockers+devops)_哔哩哔哩_bilibili

 !评论区获得配置文档:https://cloud.fynote.com/share/d/IcInOR5h  提取码:g3an

 !!!注意:文档中一些东西跟教程不完全相同,复制的时候记得仔细比对视频,以视频为主。本人吃过亏! 以下是视频中没提到的补充。

1. 安装前必备操作(所有主机操作)

Selinux关闭,建议不要暂时关闭,重启之后又会开,如果不是一天内配置完成,后边集群初始化的时候可能出问题。

getenforce  #输出可能是 EnforcingPermissive 或 Disabled

永久关闭 SELinux

  1. 打开 SELinux 配置文件  sudo vi /etc/selinux/config 

  2. 找到以下行:SELINUX=enforcing

  3. 将其修改为:SELINUX=disabled

  4. 保存并退出编辑器。

  5. 重启系统以使更改生效:sudo reboot

  6. 验证SELinux状态:sestatus    #输出中如果显示 SELinux status: disabled,说明已成功关闭。

防火墙关闭,理由同上

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

如果不关闭集群初始化遇到的问题如下:

Swap没有做

1. 临时禁用  swapoff -a (不建议)

2. 永久禁用
sed -i 's/.*swap.*/#&/' /etc/fstab

运行这个命令后,/etc/fstab 文件中所有包含 swap 的行都会被注释掉(在行首添加 #)。

/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=e4bf7e74-e3cb-4570-8590-84ead780d281 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

#禁用后,第三行用“#”
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=e4bf7e74-e3cb-4570-8590-84ead780d281 /boot                   xfs     defaults        0 0
#/dev/mapper/centos-swap swap                   swap    defaults        0 0

内核参数调整
cat >> /etc/sysctl.d/k8s.conf << EOF
vm.swappiness=0
EOF
sysctl -p /etc/sysctl.d/k8s.conf #配置生效

3. 检查当前是否有活动的 swap

即使 /etc/fstab 中没有启用 swap,系统可能仍然在使用 swap。通过以下命令检查:

方法 1:使用 free 命令  free -h

             total        used        free      shared  buff/cache   available
Mem:           7.6G        2.1G        3.4G        200M        2.1G        5.0G
Swap:          2.0G        0B          2.0G
              total        used        free      shared  buff/cache   available
Mem:           7.6G        2.1G        3.4G        200M        2.1G        5.0G
Swap:            0B          0B          0B
 

如果 Swap 行显示为 0B,说明当前没有活动的 swap。

如果 Swap 行显示非零值,说明仍有 swap 在使用。

方法 2:使用 swapon 命令  swapon --show

如果没有任何输出,说明当前没有启用 swap。

如果有输出(例如 /dev/mapper/centos-swap),说明仍有 swap 在使用。

IPtables没安装

参考配置文档中具体操作。

2. docker 镜像拉本地出现问题

本来按照教程做的配置加速文件时,但是拉到本地出现这个问题

配置加速器文件
]# cat >> /etc/docker/daemon.json <<-EOF
{
  "registry-mirrors": [
    "http://74f21445.m.daocloud.io",
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ], 
  "insecure-registries": ["kubernetes-register.sswang.com"], 
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

重启docker服务
systemctl restart docker

说明上边的镜像不可以,我的解决办法:

修改daemon.json 文件,这样就可以成功了,记得下载到master完成之后再删除这两行,不然之后master跟node这个配置文件不一致,后边会出错!

vim /etc/docker/daemon.json 
 {
  "registry-mirrors": [
     "https://docker.1ms.run",
     "https://docker.1panel.live/"
   ]
 }
#把之前的registry-mirrors加上这两行

重新加载配置文件和重启docker,使配置生效。

 sudo systemctl daemon-reload
 sudo systemctl restart docker

 3. docker仓库

安装docker-compose 

yum install -y docker-compose

出现以下问题

[root@kubernetes-register harbor] yum install dokcer-compose -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
没有可用软件包 dokcer-compose。
错误:无须任何处理

解决办法:启用 EPEL 源,有时可以通过启用 EPEL(Extra Packages for Enterprise Linux)源来安装 docker-compose。就可以成功解决。

#安装 EPEL 源:
sudo yum install epel-release -y

#尝试再次安装:
sudo yum install docker-compose -y

4.  集群收尾工作flannel

[root@kubernetes-master flannel]# grep image: kube-flannel.yml
        image: ghcr.io/flannel-io/flannel:v0.26.5
        image: ghcr.io/flannel-io/flannel-cni-plugin:v1.6.2-flannel1

        #需要拉取这两个镜像到本地
        image: ghcr.io/flannel-io/flannel:v0.26.5

解决办法:

[root@kubernetes-master flannel] docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/flannel-io/flannel:v0.26.5

[root@kubernetes-master flannel] docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/flannel-io/flannel-cni-plugin:v1.6.2-flannel1

记得打标签的时候具体到仓库,不然docker push会出现以下问题

问题原因:这个push是把本地push到register(也就是主机名字为kubernetes-register.sswang.com的sswang仓库下)加上上你那个register的tag,不然这样push是push到ghcr那个公有仓库上。

[root@kubernetes-master flannel]docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/flannel-io/flannel-cni-plugin:v1.6.2-flannel1  kubernetes-register.sswang.com/sswang/flannel-cni-plugin:v1.6.2-flannel1
[root@kubernetes-master flannel]docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/flannel-io/flannel:v0.26.5  kubernetes-register.sswang.com/sswang/flannel:v0.26.5
# 先打标签

#下面是推送到本地
[root@kubernetes-master flannel]docker push kubernetes-register.sswang.com/sswang/flannel-cni-plugin:v1.6.2-flannel1
The push refers to repository [kubernetes-register.sswang.com/sswang/flannel-cni-plugin]
c15a89e1b413: Pushed 
e21721183b10: Pushed 
v1.6.2-flannel1: digest: sha256:eace2bd0fa91aef181f8b5b4b2088c4988462c5e6ae94c58afc99e8bda6fbe1b size: 739
[root@kubernetes-master flannel]docker push kubernetes-register.sswang.com/sswang/flannel:v0.26.5
The push refers to repository [kubernetes-register.sswang.com/sswang/flannel]
c9d114c6b40a: Pushed 
5f70bf18a086: Mounted from sswang/tomcat 
85bcf66ed2fb: Pushed 
1f163ba17049: Pushed 
0f452d14e54a: Pushed 
3d31077e5264: Pushed 
d7fa89c91c59: Pushed 
e8eef8f20cf1: Pushed 
f11677e2878f: Pushed 
e21721183b10: Mounted from sswang/flannel-cni-plugin 
v0.26.5: digest: sha256:b3b5ee6cb47cb5ed1afd553dde6a85a0c7ab6b114acdbdf49641b12579604039 size: 2414

5. 开机自启动组件

master以及node上kubelet cri-dockerd docker都必须开机自启动,很明显下边kubectl没有开机自启动。

root@kubernetes-node1 ~]#  systemctl is-active kubelet cri-dockerd docker
unknown
active
active

1. 启用开机自启

使用 systemctl 命令启用 kubelet 的开机自启: systemctl enable kubelet

执行成功后,你会看到类似以下输出:

Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /usr/lib/systemd/system/kubelet.service.
2. 重启测试

重启服务器以验证 kubelet 是否在系统启动后自动运行:reboot

3. 验证设置

再次检查 kubelet 的状态,确认它已被设置为开机自启:systemctl is-enabled kubelet

如果返回 enabled,说明设置成功。

以上就是我遇到的认为有必要记录的问题,后续更新k8s上监控组件例如Prometheus,Kiali等组建的学习,后续还有Istio上的学习,喜欢的话就点个赞吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值