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

下载的贼慢...

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

相关推荐
duration~1 小时前
K8S自定义CRD
容器·贪心算法·kubernetes
程序员 小柴2 小时前
docker的与使用
java·docker·eureka
ghostwritten2 小时前
Docker Registry Clean
运维·docker·容器
宋冠巡3 小时前
Windows安装Docker(Docker Desktop)
windows·docker·容器
小马爱打代码4 小时前
Kubernetes 中部署 Ceph,构建高可用分布式存储服务
分布式·ceph·kubernetes
阿噜噜小栈4 小时前
最新国内可用的Docker镜像加速器地址收集
运维·笔记·docker·容器
云上艺旅4 小时前
K8S学习之基础六十八:Rancher创建deployments资源
学习·云原生·容器·kubernetes·rancher
rider1894 小时前
【4】搭建k8s集群系列(二进制部署)之安装master节点服务(kube-apiserver)
云原生·容器·kubernetes
海鸥816 小时前
podman和与docker的比较 及podman使用
docker·容器·podman
GreenMountainEcho12 小时前
Kubernetes 入门篇之 Node 安装与部署
云原生·容器·kubernetes