使用 Cyclops 部署 Spring Boot 微服务

在我们开始之前,让我先快速向大家介绍一下 Cyclops。

 Cyclops 是什么?

Cyclops 是一个基于网络的工具,旨在简化 Kubernetes 中应用程序的容器化过程。Cyclops 提供了一个直观的网络表单,我们可以在其中无缝配置我们的应用程序,它还为我们提供了一个仪表板,我们可以在其中查看我们所有的 Pod、部署和服务。此外,它还为我们提供了关键指标,如集群的性能、资源利用率和健康状况。它帮助我们快速上手,而无需花费太多时间进行配置。

**GitHub 链接**:https://github.com/cyclops-ui/cyclops

既然你已经了解了 Cyclops,那么让我们开始在 Cyclops 中部署 Spring Boot 微服务吧。

目录

- [在本地设置 Cyclops](https://dev.to/svamshi/deploying-spring-boot-microservices-using-cyclops-2ba2#setup)
- [创建微服务并部署到 Cyclops](https://dev.to/svamshi/deploying-spring-boot-microservices-using-cyclops-2ba2#microservices)
- [我对 Cyclops 的贡献](https://dev.to/svamshi/deploying-spring-boot-microservices-using-cyclops-2ba2#issues)

 在本地设置 Cyclops

1. 我们需要一个 Kubernetes 集群来试用 Cyclops。如果你没有,可以安装 MiniKube,它提供本地 Kubernetes 集群。有关安装过程的更多详细信息,请[点击此处](https://minikube.sigs.k8s.io/docs/)。
2. 现在已经安装了 Minikube,让我们启动它!

```plaintext
   minikube start
```

1. 现在我们需要将 Cyclops 安装到我们的集群中,要执行此操作,请运行以下命令:

```plaintext
   kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.8.2/install/cyclops-install.yaml
   kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.8.2/install/demo-templates.yaml
```

1. 要在集群外部访问 Cyclops,请运行以下命令:

```plaintext
   kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops
```

1. 现在当你在浏览器中访问 [localhost:3000](https://localhost:3000/) 时,它会显示 cyclops-ui!

创建微服务并部署到 Cyclops

1. 我创建了一个学生服务,它使用 rest 模板与图书馆服务进行通信,[仓库链接](https://github.com/s-vamshi/sample-microservice)
2. 学生服务的 Dockerfile 如下

```plaintext
   FROM openjdk:17-jdk-alpine
   WORKDIR /studentService
   COPY target/studentService-0.0.1-SNAPSHOT.jar studentService.jar
   EXPOSE 8090
   ENTRYPOINT ["java", "-jar", "studentService.jar"]
```

1. 图书馆服务的 Dockerfile 如下

```plaintext
   FROM openjdk:17-jdk-alpine
   WORKDIR /libraryService
   COPY target/libraryService-0.0.1-SNAPSHOT.jar libraryService.jar
   EXPOSE 8090
   ENTRYPOINT ["java", "-jar", "libraryService.jar"]
```

1. 现在我们将通过签出每个存在 Dockerfile 的服务文件夹来构建这两个服务的镜像:

```plaintext
   docker build -t student-service.
   docker build -t library-service.
```

1. 让我们标记这些镜像并推送到 Docker Hub!

```plaintext
   docker tag student-service your-dockerhub-username/student-service:latest
   docker tag library-service your-dockerhub-username/library-service:latest
   docker push your-dockerhub-username/student-service:latest
   docker push your-dockerhub-username/library-service:latest
```

1. 要部署这些服务,我们通常会定义部署和服务 YAML 文件。但在这里 Cyclops 发挥作用,为我们完成这些操作。我们只需要创建模块并等待它启动并运行!
2. 既然我们已经将微服务部署到 Cyclops,我们也应该能够从我们的浏览器访问它们,要做到这一点,请转发端口!

```plaintext
   kubectl port-forward svc/student-service 8091:8091
   kubectl port-forward svc/library-service 8092:8092
```

我对 Cyclops 的贡献

Cyclops 团队在他们的 GitHub 仓库中开放了[问题(特性/漏洞)](https://github.com/cyclops-ui/cyclops/issues),以便我们一起构建 Cyclops!

我处理的问题如下:

1. [已部署模块中的链接损坏](https://github.com/cyclops-ui/cyclops/issues/336)

   创建模块后,模块卡片会显示仓库和路径链接。现在,当点击路径链接时,它会通过吃掉当前页面将我们带到损坏的 GitHub 链接。
   **解决方案**:
   我进行了更改,以便当点击路径链接时,它会在新标签页中打开。并且,通过使用*resolvedVersion _in url(如果存在),如果不存在则使用_version _,否则使用_main*修复了损坏的路径链接。

2. [增强节点条件卡片](https://github.com/cyclops-ui/cyclops/issues/440)

   当点击特定节点的详细信息时,节点页面过去用于显示节点的状态。
   **解决方案**:
   我还添加了*lastHeartbeatTime*、*lastTransitionTime*以及节点特定条件的消息

  • 29
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幻想多巴胺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值