使用kubespere 部署微服务应用
1. 介绍
kubespere以 Kubernetes 为内核的云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一分发和运维管理。
2.名词定义
企业空间: 一个 KubeSphere 集群中创建多个企业空间,企业空间下可以创建多个项目。
流水线:流水线是由 Jenkinsfile 构建 CI/CD 流水线,可以定义 stage和
step。
3.构建流水线
1创建企业空间
2.项目管理
可以创建项目 及进入项目管理项目内应用,服务等( dev,test,prod环境)
devops 工程:构建项目流水线,同一个devops工程内定义的凭证可以共享。
3.创建流水线
进入工程后可先维护git库凭证,docker镜像库账号等
点击创建 ,开始创建流水线
流水线基本信息,如名称,描述
配置流水线参数,如 构建最大个数,定时构建,自定义参数(如镜像私服地址,密码等)。
代理类型说明:
any:调用默认的base pod模板创建jenkins agent运行流水线; node:通过选择label标签,可以调用4种类型的pod模板创建jenkins agent,可配置的label标签为base、nodejs、maven、go这4种标签,也可以登录jenkins管理界面自定义更多pod模板标签; kubernetes:通过yaml文件自定义标准的kubernetes pod模板运行agent执行流水线任务。
编辑流水线,代理选择node,由于需要maven编译源码,label选择maven,该pod 模板包含了定义好的maven镜像:
添加步骤,获取源码,类型选择git,填写必要参数
添加步骤,源码编译,类型选择指定容器,填写必要参数,名称必须是maven
添加嵌套步骤,类型选择shell,输入以下命令
mvn clean install -s evn/moc/settings.xml
添加步骤,镜像构建,类型选择指定容器,填写必要参数,名称必须是maven。
添加嵌套步骤,类型选择shell,输入以下命令
docker build -f Dockerfile-online -t $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:latest .'
添加步骤,镜像推送,注意,这里类型选择添加凭证
填写必要参数
添加嵌套步骤,选择容器,名称为maven,继续在容器中添加嵌套步骤,选择shell,输入以下命令
echo "$DOCKER_PASSWORD" | docker login $REGISTRY -u "$DOCKER_USERNAME" --password-stdin
继续添加嵌套步骤,选择shell输入以下命令
docker push $REGISTRY/$HARBOR_NAMESPACE/$APP_NAME:latest
添加步骤,应用部署,注意,这里类型选择kubernetesDeploy
点击保存 即可运行,查看运行日志。
切换到项目kubesphere-sample-dev,查看创建的应用,
4.手动创建应用
点击应用负载->服务->创建
选择无状态服务
容器配置,点击“添加容器镜像” 录入镜像名称:tag
容器设置 ,录入镜像名称:tag 及容器端口和服务端口 ,一般录入相同端口,如该镜像提供dubbo 接口需要暴露 20880
挂载存储目录,如无需挂载可直接点击下一步。
容器高级设置,可设置外网访问,设置完成后,点击创建。
服务列表即出现创建的服务。点击名称即可进入服务
默认右侧显示资源状态有,服务端口,容器组,点击容器组即可以查看容器组列表
容器名称有吗有2个图标,容器日志,和终端, 可以通过这2个工具调试或者查看日志。
日志内容如下
终端视图如下
5.容器日志查询
在 系统右下角有个工具图片。点击有日志查询。
可以通过关键字,项目,容器组,工作负载多种维度查询日志。