小编A7e*_*hin的帖子

使用 Terraform 设置 Istio,而不是使用 Helm

因此,作为背景,我尝试在 kubernetes 集群内部署一个容器化的 Web 应用程序,该集群由 istio ft kiali 进行保护和监控。由于我不想手动配置所有内容,因此我使用 Terraform 来部署和更新集群内的任何配置(例如部署服务和 Pod)。

他们的好处是 Terraform 会自动配置公开应用程序所需的服务,这避免了很多麻烦,特别是因为这是一个针对此类更大规模部署的试点项目。

现在的问题是 Terraform 不包含 Istio 作为提供者。有一种方法可以通过在 Terraform 中编写配置来安装和配置它,它使用 Helm,它配置 Istio,但 Helm 使用 Helm Tiller,这是一个执行给定任务的权限提升的 pod。由于大规模的安全问题,我不希望集群内有权限提升的 Pod。

现在的问题是:是否有人尝试或设法成功配置 Istio 服务(例如 VirtualService),以使用 Terraform 配置文件通过 istio-ingressgateway 公开 Web 应用程序?我用谷歌搜索了一下,但几乎没有看到这两者的结合。

terraform istio

5
推荐指数
1
解决办法
8843
查看次数

使用 docker-compose 构建两个不同标记的 docker 镜像

我目前正在使用 Docker 和 K8s 部署 Java 应用程序。由于我使用的是 Raspberry Pi Kubernetes 集群,因此我想生成两个映像,一个用于 x86 平台,另一个用于 arm32v7(用于在 Raspberry 集群上进行测试)。目标是使用一个 Dockerfile 生成两个不同标记的 docker 镜像,并将生成的镜像推送到 Docker Hub。我使用以下 Dockerfile:

FROM openjdk:8-alpine as x86

RUN mkdir -p /usr/src/app
COPY project/generated/distributions/executable/launch.jar /usr/src/app
WORKDIR /usr/src/app
CMD java -jar launch.jar


FROM arm32v7/adoptopenjdk:8-jre-hotspot-bionic as arm32

RUN mkdir -p /usr/src/app
COPY project/generated/distributions/executable/launch.jar /usr/src/app
WORKDIR /usr/src/app
CMD java -jar launch.jar
Run Code Online (Sandbox Code Playgroud)

我的docker-compose.yml看起来像这样:

version: '3.7'
services: 
  x86:
    build:
      context: .
      dockerfile: Dockerfile
      target: project:x86_64
  arm32:
    build:
      context: .
      dockerfile: Dockerfile
      target: project:arm32
Run Code Online (Sandbox Code Playgroud)

使用 …

build docker docker-compose multiarch

4
推荐指数
1
解决办法
1659
查看次数

标签 统计

build ×1

docker ×1

docker-compose ×1

istio ×1

multiarch ×1

terraform ×1