目录
[一、Windows 系统使用 Rancher Desktop](#一、Windows 系统使用 Rancher Desktop)
[二、Linux系统 集群使用 Ansible 一键部署](#二、Linux系统 集群使用 Ansible 一键部署)
[三、Linux系统使用 kubeadm 快速搭建单节点集群](#三、Linux系统使用 kubeadm 快速搭建单节点集群)
[四、Kubernetes (K8S) 快速部署测试环境](#四、Kubernetes (K8S) 快速部署测试环境)
[4.1 准备 K8S 集群](#4.1 准备 K8S 集群)
[4.5 配置管理(ConfigMap/Secret)](#4.5 配置管理(ConfigMap/Secret))
对于已经成熟的项目团队,测试环境基本上已经配置完成,开发人员提测后,会有本次提测的版本信息,涉及到项目中哪些工程,包括前端,后端等,不需要太多的配置即可完成测试环境的构建及部署。
有些公司测试环境的情况为0到1的状态,并且没有专业的运维人员,这就很考验测试人员的技能,根据公司项目的大小情况,选择合适的工具进行测试环境部署很有必要。
一、Windows 系统使用 Rancher Desktop
适用场景:Windows 环境下快速搭建轻量级 K8s 开发环境。
步骤:
安装 Rancher Desktop:
下载并安装 Rancher Desktop(推荐版本 1.8.1)。
配置 K8s 版本(如 1.27.1)和资源限制(CPU/内存)。
启动后,通过 PowerShell 或命令行即可使用 kubectl 命令。
部署测试应用:
示例:部署 Nginx 测试服务:
kubectl create deployment nginx --image=nginxkubectl expose deployment nginx --port=80 --type=NodePortkubectl get services
访问服务:通过 localhost:<NodePort>(如 localhost:30000)查看 Nginx 页面。
使用 Rancher UI 管理:
安装 Rancher 管理界面(可选):
nerdctl pull rancher/ranchernerdctl run -d --name rancher -p 8443:8443 rancher/rancher
访问 https://localhost:8443,按提示完成初始化。
二、Linux系统 集群使用 Ansible 一键部署
适用场景:快速搭建多节点 K8s 集群(适合生产级测试环境)。
步骤:
准备环境:
准备 3 台虚拟机(1 台 Master,2 台 Node),配置 IP 和主机名
确保所有节点能互相通信,关闭防火墙和 SELinux。
安装 Ansible 并获取脚本:
# 安装 Ansiblesudo yum install -y epel-releasesudo yum install -y ansible# 下载部署脚本(示例使用知识库[5]中的项目)git clone https://gitee.com/hadoop-bigdata/install-k8s.git
修改配置文件:
编辑 install-k8s/init/templates/hosts,填写节点 IP 和主机名。
修改 env.conf 中的镜像版本、密码等参数。
执行一键部署:
cd install-k8sansible-playbook install-k8s.yaml
验证部署:
kubectl get nodes # 查看节点状态kubectl get pods --all-namespaces # 查看系统组件
三、Linux系统使用 kubeadm 快速搭建单节点集群
适用场景:快速验证 K8s 基础功能,适合单机测试。
步骤
环境准备:
安装 Docker 和 K8s 组件:
# 安装 Dockersudo yum install -y dockersudo systemctl enable docker --now# 安装 K8s 组件cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo[kubernetes]baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/enabled=1gpgcheck=0EOFsudo yum install -y kubelet kubeadm kubectl
初始化集群:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
配置kubectl:
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
部署网络插件(如 Flannel):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
验证集群:
kubectl get nodes # 确保节点状态为 Readykubectl get pods --all-namespaces
四、Kubernetes (K8S) 快速部署测试环境
4.1 准备 K8S 集群
本地开发环境(推荐)
Minikube(单节点集群)
# 安装 Minikubecurl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64sudo install minikube-linux-amd64 /usr/local/bin/minikube# 启动集群(示例:使用 Docker 驱动)minikube start --driver=docker# 验证集群kubectl get nodes
Kind(轻量级多节点集群):
# 安装 Kindcurl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64chmod +x ./kindsudo mv ./kind /usr/local/bin/# 创建集群kind create cluster --name test-env
4.2部署测试应用
示例:部署一个 Nginx 服务
创建 Deployment (nginx-deployment.yaml):
apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-testspec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:alpine ports: - containerPort: 80
创建 Service (nginx-service.yaml):
apiVersion: v1kind: Servicemetadata: name: nginx-servicespec: selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80 type: NodePort # 通过 NodePort 暴露服务
应用配置:
kubectl apply -f nginx-deployment.yamlkubectl apply -f nginx-service.yaml
4.3访问测试服务
通过 NodePort 访问:
# 获取 NodePort 端口kubectl get svc nginx-service# Minikube 直接访问(自动打开浏览器)minikube service nginx-service
通过 Port-Forward 访问:
kubectl port-forward svc/nginx-service 8080:80# 浏览器访问 http://localhost:8080
4.4持久化存储(可选)
创建 PVC (pvc.yaml):
apiVersion: v1kind: PersistentVolumeClaimmetadata: name: test-pvcspec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi
挂载到 Deployment:
# 在 Deployment 的容器配置中添加:volumeMounts:- name: test-storage mountPath: /datavolumes:- name: test-storage persistentVolumeClaim: claimName: test-pvc
4.5 配置管理(ConfigMap/Secret)
创建 ConfigMap:
kubectl create configmap app-config --from-file=config.properties
挂载到容器:
envFrom:- configMapRef: name: app-config
4.6.快速清理环境
# 删除所有资源kubectl delete -f nginx-deployment.yaml -f nginx-service.yaml# 删除整个 Namespace(如果使用独立 Namespace)kubectl delete namespace test-env
4.7.自动化脚本示例
#!/bin/bash# 一键部署测试环境kubectl apply -f deployment.yamlkubectl apply -f service.yamlkubectl apply -f pvc.yamlecho "访问测试地址: http://$(minikube ip):$(kubectl get svc nginx-service -o jsonpath='{.spec.ports[0].nodePort}')"
4.8注意事项
镜像优化:使用轻量级镜像(如 alpine 版本)加快部署速度。
资源限制:为测试环境设置 CPU/内存限制,避免资源浪费:
resources: limits: cpu: "500m" memory: "512Mi"
调试工具:安装 kubectl-debug 或临时调试容器:
kubectl debug -it <pod-name> --image=busybox -- sh
阅读后若有收获,不吝关注,分享等操作!