【问题标题】:Run istioctl in Spinnaker pipeline在 Spinnaker 管道中运行 istioctl
【发布时间】:2020-07-23 15:56:21
【问题描述】:

目前我们使用 Spinnaker 管道通过 helm 部署自定义 istio ingress gateways(g/w)。(每个 k8s 一次活动命名空间)

istio 1.6 正在弃用 helm 创建自定义用户 g/w 的方式。而是要求使用 istioctl 命令部署它。

因为 Spinnaker 仅支持 Helm2Helm3 作为渲染引擎。

我的具体问题是我现在如何使用 istioctl 命令通过 helm 管道部署自定义 istio 用户 g/w?

【问题讨论】:

  • 也许您可以尝试使用 here 中提到的 helm 安装 istio 操作员,然后使用 here 中提到的操作员安装 istio?
  • 我的要求是只部署自定义 istio 用户 g/w 而不是 istio 本身
  • 然后你可以用你的自定义网关创建 istio operator yaml,有一个 example 他们用它更改了默认的 istio 入口网关值。
  • 是的,这就是我现在正在做的事情。我想知道是否可以使用 istioctl 在 Spinnaker 阶段直接完成。看起来这是不可能的,因此我创建了一个包装 Docker 映像,它可以完成所有工作,并且我正在从 Spinnaker 阶段执行这个 Docker 映像
  • 嗨@SouvikSarkhel 你认为我们可以添加一个'脚本'阶段来运行'istioctl manifest generate -f'来获取清单然后部署它吗?

标签: kubernetes istio spinnaker


【解决方案1】:

因为我没有得到太多回应。让我自己回答。 这是我所做的:

  • 我拍了一个 bitnami kubectl docker 基础镜像
  • 捆绑在 istio 版本中,比如 1.5.8 https://github.com/istio/istio/releases/download/1.5.8/istio-1.5.8-linux.tar.gz
  • 使用 istioctl manifest generate 获取默认清单
  • 对其进行相应修改以定义自定义入口网关
  • 在 Docker 镜像的 entrypoint.sh 中运行以下命令 istioctl manifest 生成 -f manifest.yaml | kubecl apply -f -
  • 创建包含所有步骤的 docker 映像
  • 在 Spinnaker 管道中创建一个基于 K8s 文件部署的阶段。 在文件中定义一个 Job 并运行创建的 docker 镜像。

这样,一旦作业开始运行,它就会创建一个 K8s pod,该 pod 在内部创建自定义用户 istio ingress g/w。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    相关资源
    最近更新 更多