温故知新
- [📚第一章 前言](#📚第一章 前言)
- [📚第二章 基本环境信息](#📚第二章 基本环境信息)
- [📚第三章 Kubernetes各组件部署](#📚第三章 Kubernetes各组件部署)
-
- 📗安装kubectl
-
- 📕确认系统架构
- 📕关闭防火墙、swap、selinux
- [📕通过curl 下载 kubectl](#📕通过curl 下载 kubectl)
🔼上一集:win11+vmware17+centos7.9环境搭建
*️⃣主目录:温故知新专栏
🔽下一集:K8S最新版本集群部署(v1.28) + 容器引擎Docker部署(下)
📚第一章 前言
📗背景
之前部署过dolphinscheduler3.1.8,看页面增加了K8S模块,所以想着部署一下K8S,学习一下,而且海豚调度也提供了K8S部署方式,经过一番了解,发现部署起来好像挺复杂,但是昨天虚拟机都搭建好了,放弃也不合适,所以干呗!
📗目的
部署K8S集群;部署Docker容易相关服务
📗总体方向
参照官网Kubernetes 文档,主要就是安装kubeadm、kubelet、kubectl
三个组件
📚第二章 基本环境信息
📗机器信息
使用renxiaozhao01(192.168.17.17)、renxiaozhao02(192.168.17.18)、renxiaozhao03(192.168.17.19)这三台机器(网上建议都是内存不要低于4G ),后面简称r1,r2,r3,其中r1作为master,r2、r3作为slave
📗软件信息
采用最新发布版本v1.28
📗部署用户kubernetes
一般情况下,Kubernetes的安装和配置需要在主机的操作系统级别进行,而这些操作通常需要root权限才能执行。因此,建议使用具有root权限或者sudo权限的用户来进行Kubernetes的安装和配置(自己的虚拟机直接用root用户就行了,但是博主有强迫症)。
-
创建sudo用户kubernetes:
bash[root@renxiaozhao01 ~]# useradd kubernetes -d /home/kubernetes [root@renxiaozhao01 ~]# passwd kubernetes 更改用户 kubernetes 的密码 。 新的 密码: 无效的密码: 密码包含用户名在某些地方 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 [root@renxiaozhao01 ~]# [root@renxiaozhao01 ~]# echo 'kubernetes ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers [root@renxiaozhao01 ~]# [root@renxiaozhao01 ~]# sudo su - kubernetes [kubernetes@renxiaozhao01 ~]$ [kubernetes@renxiaozhao01 ~]$ sudo -v [kubernetes@renxiaozhao01 ~]$
📚第三章 Kubernetes各组件部署
📗安装kubectl
kubectl是Kubernetes的命令行工具,用来管理Kubernetes集群,方便用户管理Kubernetes资源。
kubectl是Kubernetes的标准CLI。由于Kubernetes是一个高度自主的系统,所以kubectl的特点在于它可以用多种方式进行扩展,可以使用插件来添加新的功能。
kubectl支持多种操作系统,包括Linux、Windows和MacOS
📕确认系统架构
按照官网安装步骤,需要确认系统架构,因为安装路径不一样
通过uname -m
或者lscpu |grep Architecture
命令可以确认系统架构是x86
还是arm
bash
[root@renxiaozhao01 ~]# uname -m
x86_64
[root@renxiaozhao01 ~]# lscpu |grep Architecture
Architecture: x86_64
[root@renxiaozhao01 ~]#
[root@renxiaozhao01 ~]#
📕关闭防火墙、swap、selinux
-
关闭防火墙(可能会干扰集群内部的网络通信)
bash[root@renxiaozhao01 ~]# systemctl stop firewalld.service [root@renxiaozhao01 ~]# [root@renxiaozhao01 ~]# systemctl status firewalld.service [root@renxiaozhao01 ~]# systemctl disable firewalld.service Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@renxiaozhao01 ~]#
其中
systemctl disable firewalld.service
是永久关闭防火墙,防止后面重启虚拟机,防火墙被重新启动,带来麻烦
后续都是在线安装,关闭防火墙是为了防止网络不通 -
关闭swap(可能导致性能下降,甚至是应用程序的奔溃,关键关联之后,之前的应用会不会受影响)
bash[root@renxiaozhao01 ~]# free -m total used free shared buff/cache available Mem: 7802 267 7316 11 218 7287 Swap: 8063 0 8063 [root@renxiaozhao01 ~]# [root@renxiaozhao01 ~]# swapoff -a [root@renxiaozhao01 ~]# [root@renxiaozhao01 ~]# free -m total used free shared buff/cache available Mem: 7802 261 7322 11 218 7292 Swap: 0 0 0
永久关闭:修改
/etc/fstab
,注释掉/dev/mapper/centos-swap swap
这一行,重启虚拟机生效(reboot
)bash[root@renxiaozhao01 ~]# vi /etc/fstab [root@renxiaozhao01 ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Sun Aug 27 03:09:28 2023 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=438599e1-70c9-4f89-a777-20b60c0501ed /boot xfs defaults 0 0 /dev/mapper/centos-home /home xfs defaults 0 0 #/dev/mapper/centos-swap swap swap defaults 0 0 [root@renxiaozhao01 ~]#
-
关闭selinux(可能干扰容器与宿主机之间的交互,导致意外的权限问题):修改
vi /etc/sysconfig/selinux
,SELINUX=enforcing
改为SELINUX=disabled
看状态没变化:SELinux status: enabled
,需要重启机器才能生效,执行reboot
或者shutdown -r now
📕通过curl 下载 kubectl
切换kubernetes
用户,通过curl
下载安装包:curl -LO https://dl.k8s.io/release/v1.28.1/bin/linux/amd64/kubectl
下载的贼慢...
已经过去一个半小时了,今天先到这吧,大暴雨快要来了,再不走走不掉了(又是一个充实的周末😂)