《KubeKey快速部署K8s v1.28.8 实战》
一、环境准备
服务器配置
本次演示单机部署,没有其他原因只是因为没有我没有更多的服务器可以测试,所以生产环境一定不要学我,生产环境节点数量建议>3,不管多少节点,下面的操作都相同。
主机名 | IP | CPU | 内存 | 系统盘 | 用途 |
---|---|---|---|---|---|
k8s-01 | 10.0.0.82 | 2 | 4 | 40 | k8s-测试 |
软件版本信息
本次实战涉及的软件版本如下:
操作系统:ubuntu22.04 K8s:v1.28.8 Containerd:1.7.13 KubeKey:v3.1.1
二、操作系统基础配置
每一台节点服务器都需要操作
配置主机名
hostnamectl hostname k8s-01
配置DNS
echo "nameserver 114.114.114.114" > /etc/resolv.conf
安装系统依赖
apt install -y curl socat conntrack ebtables ipset ipvsadm
三、安装部署K8s
选择其中一台,作为master的主机操作即可。
下载KubeKey
我们以k8s-01节点作为部署节点,把KubeKey最新版(v3.1.1)二进制文件下载到该服务器哦。
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | sh -
./kk version --show-supported-k8s
创建K8s集群部署配置文件
这里我们选择了K8s v1.28.8,所以指定配置文件名称为 k8s-v1288.yaml
。
./kk create config -f k8s-v1288.yaml --with-kubernetes v1.28.8
创建配置文件后,还需要对其进行修改哦,主要是修改 kind: Cluster
小节的相关配置,比如节点的IP、ssh用户(要有sudoer权限)、ssh密码、ssh端口等信息,以及设置角色分组、启用内置的HAProxy负载均衡器、自定义域名和集群名等。
【注意这个配置文件一定要把所有节点的信息加进去】
单节点部署配置文件案例
部署K8s
export KKZONE=cn
./kk create cluster -f k8s-v1288.yaml
执行这个命令后,KubeKey会先检查部署K8s的依赖及其他详细要求,通过检查后,确认安装输入 yes
并按ENTER键就开始正式部署啦,整个部署过程大概需要10 - 20分钟左右哦,具体要看网速和机器配置呢。
四、验证K8s集群
kubectl命令行验证集群状态
部署完成后,我们可以通过kubectl命令来简单验证一下集群状态哦。
查看集群节点信息
kubectl get nodes -o wide
查看Pod列表
kubectl get pods -o wide -A
五、部署测试资源
为了进一步验证K8s集群是否正常工作,我们来部署一个简单的Nginx Web服务器进行测试哦。
创建Nginx Deployment
kubectl create deployment nginx --image=nginx:alpine --replicas=2
创建Nginx Service
kubectl create service nodeport nginx --tcp=80:80
验证 Nginx Deployment 和 Pod
运行以下命令查看创建的 Deployment 、 Pod、Service。
kubectl get deployment -o wide
kubectl get pods -o wide
kubectl get svc -o wide
验证服务
验证直接访问 Pod
curl pod-ip:80
验证访问 Service
curl cluster-ip:80
验证访问 Nodeport
curl 节点ip:svc映射端口