赞
踩
k8s 用来管理docker容器,runcher用来管理k8s, Jenkins负责流水线发布,预计一个master,三个节点
docker pull mysql:5.7
docker pull redis:5
docker pull nginx:1.10
docker pull rabbitmq:3.7.15-management
docker pull elasticsearch:7.6.2
docker pull kibana:7.6.2
docker pull logstash:7.6.2
docker pull mongo:4.2.5
mall-monitor | 监控中心 |
---|---|
mall-gateway | 微服务网关 |
mall-auth | 认证中心 |
mall-admin | 商城后台服务 |
mall-portal | 商城前台服务 |
mall-search | 商城搜索服务 |
节点名称 | 安装软件 | ip | 内存/cpu | 硬盘 | 备注 |
---|---|---|---|---|---|
k8s-mall-master | rabbitmq/elasticsearch/kibana/logstash/kebute/kebuteadm | 192.168.0.221 | 4G/4c | 50G | |
k8s-mall-node1 | nginx/mysql/redis/kebute | 192.168.0.212 | 4G/4c | 50G | |
k8s-mall-node2 | rancher/mongo/kebute | 192.168.0.213 | 4G/4c | 50G | |
k8s-mall-node3 | harbor/jenkins/kebute | 192.168.0.214 | 8G/4c | 50G |
参考 https://blog.csdn.net/qq_34168515/article/details/105330287 链接
该链接很完善,按照此步骤就可以搭建成功,按图索骥即可
ps:Flannel 插件下载不了可以参考这个:https://www.jianshu.com/p/5b41e6654332
https://blog.csdn.net/qq_39314099/article/details/105710428
push 镜像需要注意镜像tag的格式 要是 ”harbor域名+项目“否则会导致无权限push。
执行下述命令开启Rancher
docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.4.8 --server https://192.168.0.213 --token mgzdkzkw9zsknlnm2529hrjglnnctdj5j6zt55sf6w9wxt7xgzww7v --ca-checksum 6144544391ec6c467327b166d8d19cd46e76bdfc95e421245affaff518ba3dbc --worker
Rancher配置,集群添加参考一下链接
https://blog.csdn.net/wyl9527/article/details/113600869
安装参考一下链接,很简单几乎没啥坑,完全可以傻瓜安装。
https://www.jianshu.com/p/368685768680
主要应用部署可以参考这个链接 https://www.jianshu.com/p/2d89fd1b4403
ps:
pipeline { agent any // 环境变量 environment { HARBOR_CREDS = credentials('jenkins-harbor-creds') } // 入参定义 parameters { string(name: 'model_name', defaultValue: 'mall-admin', description: '部署模块名称') string(name: 'registry_ns', defaultValue: '192.168.0.214/mall', description: '镜像命名空间') string(name: 'tagsNmae', defaultValue: '1.0-SNAPSHOT', description: 'tag名称') } stages{ stage('1.检出代码') { steps{ sh 'rm -rf /home/jenkins_home/workspace/mall-swarm/*' // 检出代码 checkout([$class: 'GitSCM', branches: [[name: "*/master"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[ url: "https://gitee.com/heapstone_admin/mall-swarm.git"]]]) } } stage("2.编译打包"){ steps{ // 编译打包 sh "mvn clean install -pl mall-common,mall-mbg -am" sh "cd mall-admin" sh "mvn clean package -pl ${params.model_name}" } } stage('3.构建镜像及推送到docker仓库') { steps { echo "build images " sh "docker --version" sh "docker build -t ${params.registry_ns}/${params.model_name}:${params.tagsNmae} . -f ${params.model_name}/src/main/dockerfile/Dockerfile" echo "push images " sh "docker login -u ${HARBOR_CREDS_USR} -p ${HARBOR_CREDS_PSW} 192.168.0.214" sh "docker push ${params.registry_ns}/${params.model_name}:${params.tagsNmae}" sh "docker image rm -f ${params.registry_ns}/${params.model_name}:${params.tagsNmae}" echo "push success! " } } stage("4.kubectl apply") { steps { sh "kubectl apply -f document/k8s/${params.model_name}-deployment.yaml --namespace=mall-env" sh "kubectl apply -f document/k8s/${params.model_name}-service.yaml --namespace=mall-env" echo "项目部署成功" } } } }
至此,微服务部署实践完成,至于其他的不敢保证的坑,踩到再说哈
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。