centos环境上:k8s 简单安装教程

本次演示安装3节点k8s环境,无需多言,直接上操作步骤:

1、环境准备

k8s部署前,首先需要准备好环境,除了1.4 步骤,其他步骤在所有(3个)节点上都要执行:

1.1 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

1.2 关闭selinux、关闭swap

sed -i 's/enforcing/disabled/' /etc/selinux/config

setenforce 0

sed -ri 's/.*swap.*/#&/' /etc/fstab

swapoff -a

1.3 根据规划设置主机名

hostnamectl set-hostname <hostname>

<hostname> 为要设置的主机名

1.4 在 master 节点上添加hosts

cat >> /etc/hosts << EOF
192.168.10.1 node1
192.168.10.2 node0
192.168.10.3 master
EOF

注意:3个服务器IP都要设置为静态IP,主要此操作只需在master节点执行

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

cat > /etc/sysctl.d/k8s.conf << EOF

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

1.6 手动加载所置

sysctl --system

1.7 时间同步

同步微软时间服务器时间

yum install ntpdate -y

ntpdate time.windows.com

2、安装 docker 环境

安装k8s之前,得先安装docker,所有节点都要执行下面步骤:

具体安装步骤参考下面文章:

docker 简单在线安装教程-CSDN博客

3、部署k8s集群

3个节点docker都安装成功后,开始安装k8s:

3.1 所有节点执行:添加阿里云软件源:

cat > /etc/yum.repos.d/kubernetes.repo << EOF

kubernetes

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

3.2 所有节点安装:kubeadm、kubelet、kubectl

本次演示安装的k8s版本为 1.22.15

yum install -y kubelet-1.22.15 kubeadm-1.22.15 kubectl-1.22.15

systemctl enable kubelet

3.3 初始化master,只在master节点执行:

kubeadm init \

--apiserver-advertise-address=192.168.10.3 \

--image-repository registry.aliyuncs.com/google_containers \

--kubernetes-version v1.22.15 \

--service-cidr=10.96.0.0/12 \

--pod-network-cidr=10.244.0.0/16 \

--ignore-preflight-errors=all

注意:apiserver-advertise-address 除填写master节点IP地址;

初始化master之后,会输出一个join命令,先复制出来,node节点加入master会使用,如下图:

3.4 拷贝k8s认证文件,只在master节点执行:

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown (id -u):(id -g) $HOME/.kube/config

kubectl get nodes

3.5 添加工作节点

在所有工作节点执行在kubeadm init输出的kubeadm join命令,如下图:

3.6 在master节点查询node状态,如下图:

当token过期或未保存时,可直接使用命令重新生成:

kubeadm token create --print-join-command

3.7 部署 CNI 容器网络插件:calico

Calico 是一个纯三层的数据中心网络方案,是目前 Kubernetes 主流的网络方案。

只在 Master 节点执行:

wget https://docs.projectcalico.org/v3.24/manifests/calico.yaml --no-check-certificate

kubectl apply -f calico.yaml

kubectl get pods -n kube-system

或者:

kubectl apply -f https://docs.projectcalico.org/v3.24/manifests/calico.yaml

kubectl get pods -n kube-system

注意:calico 版本是否支持当前k8s版本,calico v3.24版本支持k8s 1.22~1.25.

calico部署过程如下截图:

3.8 查看k8s所有pod是否都正常运行,在master节点执行:

kubectl get pods --all-namespaces

相关推荐
秋邱26 分钟前
高等教育 AI 智能体的 “导学诊践” 闭环
开发语言·网络·数据库·人工智能·python·docker
芥子沫1 小时前
日记应用推荐-Docker安装DailyNotes应用
docker·容器·日记
2501_941881409 小时前
Kubernetes 容器集群资源调度与弹性扩容高可用架构在互联网业务实战经验总结
云原生·容器·kubernetes
究極の法則に通じた野犬9 小时前
k8s设计理念-k8s中哪些服务要部署成StatefulSet哪些部署成Deployment
云原生·容器·kubernetes
wuxingge9 小时前
k8s集群误删node节点,怎么添加回去
云原生·容器·kubernetes
贝锐9 小时前
Docker部署Teemii本地漫画库,并通过花生壳内网穿透实现远程访问
docker
v***85711 小时前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
观测云12 小时前
Kubernetes CRD 方式配置容器日志采集最佳实践
容器·kubernetes·日志分析
i***220713 小时前
springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
spring boot·后端·docker
羑悻的小杀马特15 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar