ubuntu安装k8s1.30

原文地址: https://blog.youkuaiyun.com/qadlr/article/details/139680236

主机配置

系统名称设置及hosts相互访问文件

hostnamectl set-hostname master01

echo -e "\n172.21.43.81 master01\n172.21.43.12 master02\n172.21.43.98 master03\n172.21.43.180 node01\n172.21.43.15 node02\n172.21.43.127 node03\n172.21.43.195 node04\n172.21.43.205 node05\n172.21.43.28 node06" >> /etc/hosts

数据盘挂载到contained数据目录(临港虚拟机专属步骤)

parted /dev/vdb mklabel gpt
parted -a opt /dev/vdb mkpart primary ext4 0% 100%
mkdir -p /var/lib/containerd
chmod 777 /var/lib/containerd
# 等几秒
mkfs.ext4 /dev/vdb1
UUID=$(blkid -s UUID -o value /dev/vdb1)
mount /dev/vdb1  /var/lib/containerd
# 配置开机自动挂载
echo "UUID=${UUID} /var/lib/containerd ext4 defaults 0 2" >> /etc/fstab

配置免密

# master01执行,一直按 enter 键
ssh-keygen
# 将本地生成的秘钥文件和私钥文件拷贝到远程主机 ssh-copy-id root@远程主机ip地址
ssh-copy-id master02
ssh-copy-id node01
...
# 验证
ssh node01

ipvs配置

# 配置内核参数,将桥接的IPv4流量传递到iptables的链
cat << EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
# 生效
modprobe overlay
modprobe br_netfilter
# 查看
lsmod | grep -e overlay -e br_netfilter

cat << EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl -p /etc/sysctl.d/k8s.conf
# 查看 
sysctl -a | grep ip_forward

apt update
apt install ipset ipvsadm
cat << EOF | tee /etc/modules-load.d/ipvs.conf
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
EOF

cat  << EOF | tee ipvs.sh
#!/bin/sh
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF
bash ipvs.sh
# 查看
lsmod | grep ip_vs

关闭交换分区

free -m
# 临时关闭:
swapoff -a
# 永久关闭:(是重启生效,想要立即生效,需要执行下上面的临时关闭命令)
vim /etc/fstab
# 注释掉带有swap关键字的一行,如下
/swap.img       none    swap    sw      0       0

软件依赖安装

安装contained

前往 https://github.com/containerd/containerd/releases 查看最新版本 修改下行的版本号(1.7.17)下载即可:(下载的是 cri-containerd-XXX-linux-amd64.tar.gz)

### 如何在 Linux Ubuntu安装配置 Kubernetes (K8S) #### 准备工作 为了确保顺利安装,建议先更新系统的软件包列表并升级现有软件包: ```bash sudo apt update && sudo apt upgrade -y ``` #### 添加 Kubernetes 存储库 通过运行以下命令可以添加官方的 Kubernetes 存储库[^2]: ```bash echo 'deb [signed-by=/etc/apt/keyrings/k8s.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | sudo tee /etc/apt/sources.list.d/k8s.list ``` 这一步骤确保可以从指定源获取最新稳定版的 Kubernetes 组件。 #### 安装必要的工具 接着需要安装 `kubeadm`、`kubelet` 和 `kubectl` 这三个核心组件。这些工具分别用于初始化集群、管理节点上的代理服务以及与 API Server 交互[^3]。 ```bash sudo apt-get install -y kubeadm kubelet kubectl ``` 注意:这里仅展示了基础安装指令;实际操作时可能还需要考虑特定版本兼容性和其他依赖项。 #### 初始化 Kubernetes 集群 一旦上述准备工作完成,就可以使用 `kubeadm init` 命令来启动一个新的 Kubernetes 控制平面实例。此过程会自动下载所需镜像并设置初始环境变量[^1]。 ```bash sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 执行完毕后按照提示配置当前用户的权限以便能够正常使用 kubectl 工具连接到刚刚建立起来的集群。 #### 设置网络插件 由于默认情况下 Pod 之间无法相互通信,因此必须部署一个合适的 CNI(容器网络接口)解决方案。Flannel 是一种简单易用的选择之一,可以通过下面这条命令快速应用[^4]: ```bash kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml ``` 此时应该已经成功搭建起了一个基本可用的小型 Kubernetes 测试环境!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值