K8S -- 集群搭建环境基础

前提

三台linux虚拟机

一台做master 两台做slave。我使用的Ubuntu24

设置hostname

k8s启动是依赖这个hostname的,设置成固定唯一,后面方便管理

各自根据自身机器的角色设置

复制代码
hostnamectl set-hostname k8s-master

hostnamectl set-hostname k8s-slave1

hostnamectl set-hostname k8s-slave2

关闭交换服务区

复制代码
swapoff -a    ##临时关闭
sed -ri 's/.*swap.*/#&/I/etc/fstab  ##永久关闭

下面三个值需要为0

复制代码
free -m

SELinux 设置为permissive 模式

安装

复制代码
sudo apt install selinux-utils	

临时关闭

复制代码
sudo setenforce 0

默认关闭

可以先去/etc/selinux/目录下查看对应的配置文件是不是下面这个semanage.conf,如果不一样就修改配置文件名称

复制代码
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/semanage.conf

允许iptables 检查桥接流量

可以先去/etc/modules-load.d目录下查看对应的配置文件是不是下面这个modules.conf,如果不一样就修改配置文件名称

复制代码
cat <<EOF | sudo tee /etc/modules-load.d/modules.conf
br netfilter
EOF
cat <<EOF | sudo tee /etc/sysctl.d/modules.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system

安装kubelet kubeadm kubectl

安装依赖

复制代码
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gpg

下载k8s阿里云公钥

复制代码
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

添加阿里云k8s镜像资源

复制代码
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

修改完后更新apt配置

复制代码
sudo apt-get update

下载kubelet kubeadm kubectl

复制代码
sudo apt-get install -y kubelet kubeadm kubectl

检查是否下载成功

复制代码
kubelet --version

启动 kubelet

启动厂长kubelet

复制代码
sudo systemctl enable --now kubelet

查看启动状态

复制代码
systemctl status kubelet

下载必须的镜像

方式1 docker下载(推荐)

依次执行下面的镜像拉取命令

复制代码
 docker pull registry.k8s.io/kube-apiserver:v1.28.15
 docker pull registry.k8s.io/kube-controller-manager:v1.28.15
 docker pull registry.k8s.io/kube-scheduler:v1.28.15
 docker pull registry.k8s.io/kube-proxy:v1.28.15
 docker pull registry.k8s.io/pause:3.9
 docker pull registry.k8s.io/etcd:3.5.15-0
 docker pull registry.k8s.io/coredns/coredns:v1.10.1

查看下载的镜像

复制代码
docker images

方式2 kubeadm下载

查看所需的镜像

复制代码
 kubeadm config images list

下载镜像

复制代码
 sudo kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers

查看下载的镜像

复制代码
sudo crictl images  
或者
docker iamges  看看哪个行

以上完成,基本启动k8s的基础环境就搞定,后面就可以准备集群启动k8s

相关推荐
知已难寻41 分钟前
00 · OpenStack 总纲——从云计算到 OpenStack 全景
运维·服务器·云原生·云计算·负载均衡·openstack·perl
w_t_y_y42 分钟前
JWT(5)JWT+spring security
java·后端·spring
wenyq71 小时前
LeetCode 152. Maximum Product Subarray
java·算法·leetcode
艾伦_耶格宇1 小时前
【kubernetes - 1.28版本】-4 containerd与docker-ce 的区别
docker·容器·kubernetes
余额瞒着我当琳1 小时前
C++异常,异常的概念,异常抛出与捕获,RAII 和智能指针的设计思路,C++标准库一些指针的使用
java·开发语言·c++·算法
切糕师学AI1 小时前
K8s 滚动更新与 Spring Boot 优雅停机实战:如何做到真正的平滑发布?
spring boot·云原生·容器·kubernetes·k8s
花间相见1 小时前
【macOS开发环境:Java配置】—— Mac上的Java版本管理-SDKMAN安装、多版本切换与项目实战
java·架构·个人开发
骑着蜗牛撵大象3271 小时前
大模型 SDK 编译就崩?用 CMakeLists 把 httplib、JSON 与 OpenSSL 装配成可复用的 ChatServer
android·java·c++·http·json·cmake·大模型sdk