K8S最新版本集群部署(v1.28) + 容器引擎Docker部署(上)

温故知新

🔼上一集: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/selinuxSELINUX=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

下载的贼慢...

已经过去一个半小时了,今天先到这吧,大暴雨快要来了,再不走走不掉了(又是一个充实的周末😂)

相关推荐
全能全知者几秒前
docker快速安装与配置mongoDB
mongodb·docker·容器
阿尔帕兹2 小时前
构建 HTTP 服务端与 Docker 镜像:从开发到测试
网络协议·http·docker
ZHOU西口3 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
景天科技苑6 小时前
【云原生开发】K8S多集群资源管理平台架构设计
云原生·容器·kubernetes·k8s·云原生开发·k8s管理系统
wclass-zhengge7 小时前
K8S篇(基本介绍)
云原生·容器·kubernetes
颜淡慕潇7 小时前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
川石课堂软件测试9 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
昌sit!15 小时前
K8S node节点没有相应的pod镜像运行故障处理办法
云原生·容器·kubernetes
追风林16 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
A ?Charis18 小时前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab