0. 环境
- 本次演示环境使用helm将MeterSphere部署到k8s中;
- k8s环境使用KubeOperator部署,
- 共享存储使用NFS服务器
1. 导入镜像
提前导入镜像部署时会更快拉起Pod,如果在线下拉去会慢一些。
将MeterSphere安装包中的镜像一次导入到系统中,或导入到harbor中;
此次演示环境没有配置harbor,直接导入到两个k8s节点中:
cd /opt/metersphere-offline-installer-v1.16.2/ for i in `ls images`; do docker load < $i; done
离线环境需要导入busybox镜像
2. 关联共享存储
k8s环境使用KubeOperator部署的,直接在KubeOperator关联NFS服务
登录KubeOperator平台进入集群,以此点击“存储”–“存储提供商”–“添加”
选择“nfs” ,填写nfs服务器的相关信息,最后点击”添加”。
创建一个存储类
同样方式,以此点击“存储”–“存储类”–“添加”
选择刚才已添加的nfs存储 ,填写相关配置,最后点击”提交”。
注意:这里的名称要使用default
3. helm部署MeterSphere
kubectl create ns ms helm repo add bitnami https://charts.bitnami.com/bitnami helm repo add metersphere https://metersphere.github.io/helm-chart/ helm repo update # 从 chart 仓库中更新本地可用chart的信息 helm install metersphere metersphere/metersphere -n ms
如果网络不通畅也可以离线部署
登录https://github.com/metersphere/helm-chart/releases/tag/metersphere-1.0.10
下载离线chart包metersphere-1.0.10.tgz
helm install metersphere metersphere-1.0.10.tgz -n ms
4. 检查部署状态
[root@demo-cluster-master-1 ~]# kubectl get all -n ms NAME READY STATUS RESTARTS AGE pod/metersphere-data-streaming-6c6d46d895-nc2tl 1/1 Running 0 82m pod/metersphere-kafka-0 1/1 Running 1 82m pod/metersphere-node-controller-77765bdc44-24ccl 1/1 Running 0 82m pod/metersphere-server-565d49649c-mn4vv 1/1 Running 0 82m pod/metersphere-zookeeper-0 1/1 Running 0 82m pod/mysql-0 1/1 Running 0 82m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/metersphere-data-streaming ClusterIP 172.20.229.76 <none> 8084/TCP 82m service/metersphere-kafka ClusterIP 172.20.186.164 <none> 9092/TCP 82m service/metersphere-kafka-0-external NodePort 172.20.199.242 <none> 9094:30515/TCP 82m service/metersphere-kafka-headless ClusterIP None <none> 9092/TCP,9093/TCP 82m service/metersphere-mysql ClusterIP None <none> 3306/TCP 82m service/metersphere-server ClusterIP 172.20.163.116 <none> 8081/TCP 82m service/metersphere-zookeeper ClusterIP 172.20.67.97 <none> 2181/TCP,2888/TCP,3888/TCP 82m service/metersphere-zookeeper-headless ClusterIP None <none> 2181/TCP,2888/TCP,3888/TCP 82m service/ms-node-controller ClusterIP 172.20.207.39 <none> 8082/TCP 82m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/metersphere-data-streaming 1/1 1 1 82m deployment.apps/metersphere-node-controller 1/1 1 1 82m deployment.apps/metersphere-server 1/1 1 1 82m NAME DESIRED CURRENT READY AGE replicaset.apps/metersphere-data-streaming-6c6d46d895 1 1 1 82m replicaset.apps/metersphere-node-controller-77765bdc44 1 1 1 82m replicaset.apps/metersphere-server-565d49649c 1 1 1 82m NAME READY AGE statefulset.apps/metersphere-kafka 1/1 82m statefulset.apps/metersphere-zookeeper 1/1 82m statefulset.apps/mysql 1/1 82m
5. 稍作修改
使用helm部署MeterSphere的访问入口为ingress方式;
查看一下ingress:
[root@demo-cluster-master-1 ~]# kubectl get ingress -n ms NAME CLASS HOSTS ADDRESS PORTS AGE metersphere <none> ms-dev.apps.metersphere.com 172.20.242.169 80 87m
在此我们不使用helm默认给的这样方式访问MeterSphere,
创建一个nodeport的访问方式:
vi ms-server-nodeport.yaml
apiVersion: v1 kind: Service metadata: name: metersphere-server-nodeport namespace: ms spec: ports: - name: metersphere-server protocol: TCP port: 8081 targetPort: 8081 nodePort: 30801 type: NodePort selector: app: metersphere-server
创建nodeport服务
kubectl create -f ms-server-nodeport.yaml
5. 访问mstersphere页面
http://nodeIP:30801
6.验证测试功能
6.1 设置系统参数
在系统设置页面,“当前站点URL”填写登录的URL
6.2 配置环境
系统设置–工作空间–环境管理,创建环境;
HTTP配置,环境域名同样填写登录的URL。
6.3 导入脚本
接口调试–接口自动化–更多操作–导入;
将测试脚本导入
6.4 调试脚本
将导入的脚本进行测试,选择上一步创建的环境,点击“调试”,全部通过则脚本正常,点击右上角“保存”;
6.5 创建性能测试
调试完成的脚本,点击“创建性能测试”;
选择“资源池”;点击“保存并执行”,测试开始执行;
并且,在k8s节点上正常拉起jmeter容器。
至此,k8s部署MeterSphere完成。
7. 参考
MeterSphere github
https://github.com/metersphere/metersphere
MeterSphere helm chart:
https://github.com/metersphere/helm-chart
KubeOperator 规划、部署和运营 K8s 集群
https://github.com/metersphere/metersphere
KubePi 简单易用的开源 Kubernetes 可视化管理面板
https://github.com/KubeOperator/KubePi
今天的文章
在k8s上部署三节点的es_k8s 部署分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/81076.html