K8S的搭建步骤

Kubernetes(K8s)是一个强大的容器编排系统,可以自动部署、扩展和管理容器化应用程序。以下是搭建Kubernetes集群的详细步骤:

准备环境:

服务器要求:建议最小硬件配置为2核CPU、2G内存、20G硬盘。服务器最好可以访问外网,因为会有从网上拉取镜像的需求。如果服务器不能上网,需要提前下载对应镜像并导入节点。

软件环境:确保服务器上安装了CentOS 7.x_x64操作系统、Docker CE v20以及K8s v1.22.3。

bash 复制代码
yum install -y kubelet kubeadm kubectl

服务器规划:进行主机名解析,编辑三台服务器的/etc/hosts文件,添加相应的IP和主机名。

关闭防火墙:通过执行systemctl stop firewalld和systemctl disable firewalld命令来关闭防火墙。

关闭selinux:通过执行setenforce 0命令临时关闭selinux。

安装依赖包:在所有节点上安装conntrack、ntpdate、ntp、ipvsadm、ipset、jq、iptables、curl、sysstat、libseccomp、wget、vim、net-tools和git等依赖包。

时间同步:启动chronyd服务,执行systemctl start chronyd命令。

修改内核参数:在Master和node上修改内核参数,使流过网桥的流量也进入iptables/netfilter框架中。执行以下命令:

bash 复制代码
cat <<EOF > /etc/sysctl.d/k8s.conf  
net.bridge.bridge-nf-call-ip6tables = 1  
net.bridge.bridge-nf-call-iptables = 1  
EOF  
sysctl --system

安装组件:在Master和node上安装Kubernetes组件,包括kubeadm、kubelet和kubectl等。

使用kubeadm初始化Master节点:在Master节点上执行以下命令来初始化Kubernetes集群:

bash 复制代码
kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=192.168.73.120 --kubernetes-version=v1.22.3

将node节点添加到集群中:在node节点上执行以下命令来加入集群:

bash 复制代码
kubeadm join --token <token> --discovery-token-ca-cert-hash sha256:<hash> 192.168.73.120:6443
相关推荐
张忠琳8 小时前
【client-go v0.36.1】(store Part 3)Store 超深度分析 — 集成模式、完整数据流、不变量、与 DeltaFIFO 协作
云原生·kubernetes·informer·store·client-go
赵渝强老师11 小时前
【赵渝强老师】Kubernetes(K8s)中的金丝雀升级
linux·docker·云原生·容器·kubernetes
鹤落晴春11 小时前
【K8s】配置存储卷
云原生·容器·kubernetes
张忠琳13 小时前
【client-go v0.36.1】(DeltaFIFO Part 1)DeltaFIFO 超深度分析 — 模块定位、类结构、接口层次、构造与初始化
云原生·kubernetes·deltafifo·informer·client-go
原来是猿14 小时前
Docker 【 技术架构(1)】
docker·容器·架构
阿里云云原生14 小时前
实战揭秘:如何通过 AI Agent Skill 让 K8s 应用自动接入云监控?
云原生
ba_pi14 小时前
k8s删除pod
linux·容器·kubernetes
木雷坞14 小时前
Qdrant Docker 部署教程:数据卷、API Key 和集合初始化
运维·docker·容器·知识图谱
张忠琳16 小时前
【client-go v0.36.1】tools/cache 深度分析(下篇)— RealFIFO 深度、集成架构、生命周期、设计模式总结
云原生·kubernetes·cache·informer·client-go
张忠琳17 小时前
【client-go v0.36.1】(store Part 2)Store 超深度分析 — threadSafeMap 核心、索引体系、RV追踪、事务机制
云原生·kubernetes·informer·store·client-go