当前位置: 首页 > news >正文

苏州建设网站seo诊断分析在线工具

苏州建设网站,seo诊断分析在线工具,紧急页面通知升级中访问大通知,免费网站软件制作【squids.cn】 全网zui低价RDS,免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等 Minikube:它可能是最简单和最容易接近的K8s集群。作为一个为了以低资源运行而设计的轻量级K8s发行版,有效的Minikube设置不需要除了你自己的笔记…

【squids.cn】 全网zui低价RDS,免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等

Minikube:它可能是最简单和最容易接近的K8s集群。作为一个为了以低资源运行而设计的轻量级K8s发行版,有效的Minikube设置不需要除了你自己的笔记本电脑以外的任何东西。从这个角度来看,Minikube是开发环境的绝佳选择,能够快速访问基础设施元素,如节点、pods、部署、服务和其他K8s的细微之处,在大规模场景中更难实现。

作为一个K8s-native运行时,Quarkus支持各种类型的集群,包括但不限于Minikube、Kind、OpenShift、EKS(Elastic Kubernetes Service)、AKS(Azure Kubernetes Service)等。

打包为Docker镜像

Quarkus提供了几种选择,可以根据不同的技术和工具打包基于云的应用程序,如下所示:

  • Jib 

  • Docker 

  • S2I(Source to Image)

在我们的原型中,我们使用的是Jib,与其他两种方法相比,它的优势在于不需要在主机上运行Docker守护进程。为了利用它,只需在master pom.xml文件中包含以下Maven依赖项:

...<dependency>  <groupId>io.quarkus</groupId>  <artifactId>quarkus-container-image-jib</artifactId></dependency>...

运行新的构建:

mvn -DskipTests -Dquarkus.container-image.build=true clean package

完成后,如果本地有 Docker 守护进程运行,则可以检查容器镜像创建情况,如下所示:

$ docker images
REPOSITORY                        TAG                      IMAGE ID       CREATED         SIZE
aws-quarkus/aws-camelk-sqs        1.0.0-SNAPSHOT           63072102ba00   9 days ago      382MB
aws-quarkus/aws-camelk-jaxrs      1.0.0-SNAPSHOT           776a0f99c5d6   9 days ago      387MB
aws-quarkus/aws-camelk-s3         1.0.0-SNAPSHOT           003f0a987901   9 days ago      382MB
aws-quarkus/aws-camelk-file       1.0.0-SNAPSHOT           1130a9c3dfcb   9 days ago      382MB
...

部署到 Minikube

我们的 Apache Camel 微服务不需要任何修改或重构即可部署到 Minikube。然而,构建过程包括测试、打包和将应用程序部署到 K8s 所需的所有步骤,需要进行调整以实现云感知并利用 Minikube 的特性。

因此,我们需要调整的第一个修改是将quarkus-minikubeMaven 工件添加到我们的主pom.xml文件中,如下所示:

...    <dependency>      <groupId>io.quarkus</groupId>      <artifactId>quarkus-minikube</artifactId>    </dependency>...

该工件将在项目target/kubernetes目录中生成 Minikube 特定的清单文件。众所周知,K8s 的一切都是用 YAML(Yet Another Markup Language)表示法描述的。虽然 K8s 历来需要相当繁重的 YAML 创作和编辑过程,但使用此工件的优点是自动生成所需的 YAML 文件,或者至少是稍后可能会丰富的基本框架。

mvn -DskipTests clean install通过在项目根级别运行命令来执行新构建将在target/kubernetes每个 Quarkus 微服务的目录中生成两类文件:

  • 一对kubernetes.yaml/json文件,其中包含描述微服务的 K8 常规资源的清单

  • 一对minikube.yaml/json文件,其中包含描述微服务的 Minikube 特定资源的清单

例如,对于aws-camelk-jaxrs微服务,转到aws-camelk-jaxrs/target/kubernetes并打开minikube.yaml文件,您将看到:

...spec:  ports:    - name: http      nodePort: 30326      port: 80      protocol: TCP      targetPort: 8080  selector:    app.kubernetes.io/name: aws-camel-jaxrs    app.kubernetes.io/part-of: aws-camelk    app.kubernetes.io/version: 1.0.0-SNAPSHOT  type: NodePort...

此清单片段定义了一种类型为NodePort的K8s服务,该服务在TCP端口号8080上监听HTTP请求,并映射到主机的端口号30326。这个配置是特定于Minikube的,对于像EKS这样的其他集群,配置的K8s服务的类型将是ClusterIP而不是NodePort。选择器段定义了服务名称、版本和包,通过以下属性进行定制:

...quarkus.kubernetes.part-of=aws-camelkquarkus.kubernetes.name=aws-camel-jaxrsquarkus.kubernetes.version=1.0.0-SNAPSHOT...

另一个需要注意的重要点是AWS凭据的定义。我们的微服务需要访问AWS,为此,应定义一些属性,如区域名称、访问密钥ID和值。虽然区域名称不是敏感信息,可以作为明文属性定义,但对于与访问密钥相关的属性则不是这样,它们需要使用K8s secrets。下面的列表显示了application.properties文件的一个片段:

...quarkus.kubernetes.env.vars.aws_region=eu-west-3quarkus.kubernetes.env.secrets=aws-secret...

此处,区域名称被定义为eu-west-3纯文本形式,而 AWS 访问密钥凭证是通过名为 的 K8S 密钥定义的aws-secret。

在 Minikube 上运行

我们刚刚回顾了如何重构基于 Maven 的构建流程,以使其适应 K8s 原生。为了在 Minikube 上运行微服务,请按以下步骤操作:

启动 Minikube

当然,Minikube 应该安装在您的盒子上。这是一个非常简单的操作;只需按照此处的指南进行操作即可。安装完成后,您需要启动 Minikube:

$ minikube start...$ eval $(minikube -p minikube docker-env)

启动 Minikube 后,上面列表中的最后一个命令将 K8s Docker 注册表设置为 Minikube 中运行的实例,以便将新生成的映像直接发布到该实例。

从 GitHub 克隆项目

运行以下命令来克隆存储库:

$ git clone https://github.com/nicolasduminil/aws-camelk.git$ cd aws-camelk$ git checkout minikube

创建 K8s 命名空间和 Secret

运行以下命令创建 K8s 命名空间和密钥:

$ kubectl create namespace quarkus-camel$ kubectl apply -f aws-secret.yaml --namespace quarkus-camel

在这里,创建名为 的 K8s 命名空间后quarkus-camel,我们通过应用名为 的清单文件中的配置在同一命名空间中创建一个 K8s 密钥aws-secret.yaml,如下所示:

apiVersion: v1kind: Secretmetadata:  name: aws-secrettype: Opaquedata:  AWS_ACCESS_KEY_ID: ...  AWS_SECRET_ACCESS_KEY: ...

AWS_ACCESS_KEY_ID标记为和的属性AWS_SECRET_ACCESS_KEY 是 BASE64 编码的。

启动微服务

我们在第 2 部分中用于启动微服务的相同脚本 (start-ms.sh) 可以再次用于相同目的。已修改,如下图:

#!/bin/sh./delete-all-buckets.sh./create-queue.shmvn -DskipTests -Dquarkus.kubernetes.deploy clean packagesleep 3./copy-xml-file.sh

在这里,我们首先清理环境并删除所有名为“mys3*”的 S3 存储桶(如果有)。然后,我们创建一个名为“myQueue”的 SQS 队列(如果它尚不存在)。如果存在,我们会通过删除其中存储的所有消息来清除它。

Maven 命令使用quarkus.kubernetes.deploy该属性将新生成的 Docker 镜像部署到 Minikube。最后但并非最不重要的一点是,将 XML 文件复制到输入目录中将触发名为 的 Camel 路由aws-camelk-file,从而启动管道。

观察日志文件

为了跟踪微服务的执行,请运行以下命令:

$ kubectl get pods --namespace quarkus-camel$ kubectl logs <pod-id> --namespace quarkus-camel

停止微服务

要停止微服务,请运行以下命令:

./kill-ms.sh

清理AWS基础设施

不要忘记清理您的 AWS 基础设施,以免被计费。

$ ./delete-all-buckets.sh$ ./purge-sqs-queue.sh$ ./delete-sqs-queue.sh

停止 Minikube

最后但并非最不重要的一点是,停止 Minikube:

$ eval $(minikube -p minikube docker-env --unset)$ minikube stop

作者:Nicolas Duminil

更多内容请关注公号【云原生数据库

squids.cn,云数据库RDS,迁移工具DBMotion,云备份DBTwin等数据库生态工具。

http://www.cadmedia.cn/news/8607.html

相关文章:

  • 商务网站建设PDF下载网站推广软件免费
  • 查收录网站比百度好用的搜索软件手机版
  • 网站推广的表现方式百度关键词快排
  • 网站排名快速见效的方法网络营销活动策划方案
  • 大连网站建设优化什么是seo是什么意思
  • 免费域名收藏优化seo公司哪家好
  • 济南市建设行政主管部门网站社群营销的具体方法
  • 手机网站定制建设企业网站建设方案
  • 免费建筑图纸下载网站国家反诈中心app下载
  • 建设领域工人管理网站职业培训机构哪家最好
  • 加强网站和新媒体建设管理的意义东莞疫情最新消息今天中高风险区
  • 手机能看的网站有哪些湖北seo整站优化
  • 祥云平台 网站建设百度竞价一个月5000够吗
  • 中铁建设集团有限公司招聘信息seo独立站优化
  • 网站建设平台讯息重庆森林经典台词罐头
  • 网络营销方式主要有哪些名风seo软件
  • 常州的网站建设seo是什么的
  • html网站源代码下载免费网站建设平台
  • 软件汇seo推广主要做什么的
  • 广州营销网站建设公司短视频seo是什么
  • 怎样免费做书画网站网站排名seo
  • 哪个网站建设公司比较好jmr119色带
  • 手表购物网站排名百度seo如何优化
  • 手工制作教程视频教程谷歌seo和百度区别
  • 网站设计怎么做链接外链网盘源码
  • 上海监狱门户网站网络做推广广告公司
  • 杂谈发现一只网站是你们谁做的app推广是做什么的
  • 淘宝补单平台网站如何提高自己在百度的排名
  • 浙江省互联网建设网站惠州短视频seo
  • 免费行情100个软件网络运营seo是什么