【Ubantu20】搭建# kubernetes集群

主机规划

作用 IP地址 操作系统 配置
Master 192.168.244.130 ubantu20.04 2颗CPU 2G内存 50G硬盘
Node1 192.168.244.131 ubantu20.04 2颗CPU 2G内存 50G硬盘
Node2 192.168.244.132 ubantu20.04 2颗CPU 2G内存 50G硬盘

环境初始化

主机名设置:按照下面信息设置主机名
master节点: master
node节点:   node1
node节点:   node2
#命令
hostnamectl set-hostname master && bash
hostnamectl set-hostname node1 && bash
hostnamectl set-hostname node2 && bash

检查操作系统的版本

[root@master ~]# uname -a
Linux master 5.15.0-105-generic #115~20.04.1-Ubuntu SMP Mon Apr 15 17:33:04 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

设置主机名 、解析

# 主机名成解析 编辑三台服务器的/etc/hosts文件,添加下面内容
192.168.244.130  master
192.168.244.131  node1
192.168.244.132  node2

#设置主机名
cat >> /etc/hosts <<EOF
192.168.244.130  master
192.168.244.131  node1
192.168.244.132  node2
EOF

时间同步

#查看时间状态  System clock synchronized: yes 为开启同步
timedatectl status
# 修改时区为上海 #先查看时区是否正常,不正确则替换为上海时区
timedatectl set-timezone Asia/Shanghai
#安装chrony,联网同步时间
apt install chrony -y && systemctl enable --now chronyd

查看防火墙

# 查看防火墙状态
[root@master ~]# ufw status
[root@master ~]# ufw enable
[root@master ~]# ufw disable

禁用selinux

#默认ubunt默认是不安装selinux的,如果没有selinux命令和配置文件则说明没有安装selinux,则下面步骤就不用做了
[root@master ~]# sed -ri 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 
[root@master ~]# setenforce 0

关闭swap分区(k8s官网要求)

#注意:最好是安装虚拟机时就不要创建swap交换分区**
sed -ri 's/.*swap.*/#&/' /etc/fstab
swapoff -a

将桥接的IPv4流量传递到iptables的链

#(有一些ipv4的流量不能走iptables链,因为linux内核的一个过滤器,每个流量都会经过他,然后再匹配是否可进入当前应用进程去处理,所以会导致流量丢失),配置k8s.conf文件(k8s.conf文件原来不存在,需要自己创建的)
touch /etc/sysctl.d/k8s.conf
cat >> /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.ipv4.ip_forward=1
vm.swappiness=0
EOF

sysctl --system

设置服务器之间免密登陆(3台彼此之间均设置)

# 如果root 用户被禁止(Permission denied, please try again.)两种可能
# 1.SSH 配置了禁止 root 用户登录策略;
	#修改 /etc/ssh/sshd_config配置,允许登录
	#vim  /etc/ssh/sshd_config 文件中找到PermitRootLogin 行:PermitRootLogin yes
	#重启ssh  service sshd restart
# 2.root密码错误
	#先切换普通用户登录测试   输入 su 命令 输入你认为正确的密码 如果验证失败就是密码不对 更改root新密码 sudo passwd root
	#这里我们需要搞清楚这两条命令的区别,使用sudo su命令只是暂时提升用户的权限(暂时获取root权限),用到的密码其实还是当前普通账户的密码,但是su默认是切换到root账户,用的就是root账户的密码,所以你很有可能是没有设置root用户的密码。

ssh-keygen -t rsa
#将公钥发送给130 132
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.130
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.244.132
#测试连接
ssh master	
ssh node2

#重启服务器
[root@master ~]# reboot

安装docker


# 1 卸载旧版本docker
[root@master ~]# $ apt-get remove docker docker-engine docker.io containerd runc

# 2 更新软件包
[root@master ~]#sudo apt update
[root@master ~]#sudo apt upgrade

# 3 安装docker依赖
# Docker在Ubuntu上依赖一些软件包。执行以下命令来安装这些依赖:
[root@master ~]#
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值