k8s环境搭建

k8s环境搭建

有一台以上虚拟或者真机就可以搭建。

cat /proc/version # 查看系统版本, 此次使用的是ubuntu20.0, docker版本是27.2.1意味着,k8s版本必须在1.20以上

安装docker运行时

# 选择对应系统的deb安装包进行下载
wget https://https://github.com/Mirantis/cri-dockerd/releases/tag/v0.3.4/cri-dockerd_0.3.4.amd64.tgz
tar -zxvf cri-dockerd-0.3.4.amd64.tgz -C /tmp


cp /tmp/cri-dockerd/cri-dockerd /usr/bin/


# 将下载的cri-docker.service和cri-docker.socket放置到合适位置
cp cri-docker.service cri-docker.socket /etc/sytemd/system
cd /etc/systemd/system
vim cri-docker.service

# 在cri-docker.service添加以下两句 fd:// --network-plugin=cni  --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9
[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin=cni  --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

# 修改完毕之后加载配置,设置开机启动
systemctl daemon-reload
systemctl enable --now cri-docker.service cri-docker.socket
systemctl enable cri-docker # 开机启动
systemctl start cri-docker

关闭防火墙以及安全模式

# 设置group driver为systemd
vim /etc/docker/daemon.json
# 增加配置内容
"exec-opts":[
	"native.cgroupdriver=systemd"
]
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 禁用selinux安全模式
apt install selinux-utils
getenforce # 查看enforce
setenforce 0
# 禁用swap
free # 查看交换区
swapoff -a # 禁用交换区
# 打开文件交换区注释定义
vim /etc/fstab
注释/swap.img行 /swapfile

# 修改系统主机名
hostnamectl set-hostname k8s-master
reboot # 重启使主机名生效

# 增加主机名与本机IP映射
vim /etc/hosts
172.0.1.1 k8s-master

安装kubeadm

# kubeadm基本工具安装
# 导入k8s镜像源
apt-get update
# 安装GPG密钥准备
apt-get install -y apt-transport-https ca-certificates curl
# 安装GPG密钥
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.gpg
# 设置k8s镜像源
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
# 查看k8s版本
apt-cache madison kubelet kubeadm kubectl
# 安装k8s特定版本
apt-get install -y kubelet=1.24.1-00 kubeadm=1.24.1-00 kubectl=1.24.1-00
# 安装最新版本
apt-get install -y kubelet kubeadm kubectl
# 如果需要卸载,使用以下指令
# apt-get remove kubelet kubectl kubeadm
# 锁定软件版本-禁止升级
apt-mark hold kubelet kubeadm kubectl
# kublet刚安装完成时,会处于一个自启动状态,
systemctl status kubelet

初始化主节点

# 在有init.default.yaml文件的目录下初始化master
kubeadm config print init-defaults > init.default.yaml

# 修改配置文件
vim init.default.yaml
# 修改以下内容
advertiseAddress:192.168.137.131 # 设置为自己的ip
criSocket:///var/run/cri-dockerd.sock # 设置sock
name:k8s-master # 更改名字
imageRepository:registry.aliyuncs.com/google_containers # 镜像容器更改
kubernetesVersion: 1.24.1
# 增加podSubnet,由于后续会安装flannel 网络插件,该插件必须在集群初始化时指定pod地址
# 10.244.0.0/16 为flannel组件podSubnet默认值,集群配置与网络组件中的配置需保持一致
networking.podSubnet: 10.244.0.0/16

# 拉取相关镜像
kubeadm config images pull --config=init.default.yaml
# 初始化集群主节点
kubeadm init --config=init.default.yaml --ignore-preflight-errors=all

# 普通用户和根用户二选一
# 普通用户执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# 根用户下执行
export KUBECONFIG=/etc/kubernetes/admin.conf
source /etc/profile

# 添加节点到集群命令
kubeadm join 192.168.137.131:6443 --token abcdef.0123456789abcdef \
	--discovery-token-ca-cert-hash sha256:3384be2b7788c450fc7d43250f37bd4bfa9a5f7782ff25ca277ae673be0b1ff8 
	
# 查看集群状态
# 查看所有pod
kubectl get pods --all-namespaces
# 查看节点
kubectl get node
# 查看所有组件 cs代表的资源是componentstatuses
kubectl get cs
posted @ 2024-10-13 23:49  LemHou  阅读(25)  评论(0编辑  收藏  举报