本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

impeller Docker 镜像下载 - 轩辕镜像

impeller 镜像详细信息和使用指南

impeller 镜像标签列表和版本信息

impeller 镜像拉取命令和加速下载

impeller 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

impeller
target/impeller
自动构建

impeller 镜像详细信息

impeller 镜像标签列表

impeller 镜像使用说明

impeller 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

管理在Kubernetes集群中运行的Helm图表。
0 次下载activetarget镜像

impeller 镜像详细说明

impeller 使用指南

impeller 配置说明

impeller 官方文档

impeller

管理在Kubernetes集群中运行的Helm图表。

![Docker Hub]([] ![Latest Release]([] ![MIT License]([***]

使用场景

管理多个Helm图表

  • 使用声明式配置指定集群中运行的Helm图表版本。
  • 轻松覆盖图表值并将更改提交到源代码控制。
  • 使用来自多个Helm仓库的图表。

管理多个Kubernetes集群

  • 在每个集群中使用不同的图表和不同的版本。
  • 通过default.yaml文件在集群间共享图表覆盖配置。
  • 必要时进行集群特定的图表覆盖配置。

其他特性

  • 用作Drone插件以实现CI/CD。
  • 从环境变量读取密钥。
  • 使用helm/tiller或独立使用kubectl部署helm图表

使用方法

命令行

  1. 部署命令: impeller --cluster-config-path=./clusters/my-cluster.yaml --kube-config="$(cat ~/.kube/config)" --kube-context my-kubernetes-context

  2. 空运行命令: impeller --cluster-config-path=./clusters/my-cluster.yaml --kube-config="$(cat ~/.kube/config)" --kube-context my-kubernetes-context --dry-run 默认情况下,--dry-run选项会隐藏覆盖值。您可以在发布配置中添加showValue: true以启用打印输出:

yaml
releases:
  - name: test-release
    namespace: kube-system
    version: ~x.x.x
    overrides:
      - target: global.tag
        showValue: true
        value: 1.6.0
  1. 差异运行命令: impeller --cluster-config-path=./clusters/my-cluster.yaml --kube-config="$(cat ~/.kube/config)" --kube-context my-kubernetes-context --diff-run

  2. 生成审计报告文件: impeller --cluster-config-path=./clusters --audit=trueimpeller --cluster-config-path=./clusters --audit=true --audit-file=./myreport.csv

Drone流水线

简单示例

以下Drone流水线示例展示了如何管理单个集群。推送到或合并至master分支时会自动部署更新。

yaml
deploy-charts:
  when:
    event: push
    branch: master
  image: path-to-docker/image:version
  cluster_config: clusters/my-cluster-name.yaml
  kube_context: my-kubernetes-context
  secrets:
    - source: my-kube-config-drone-secret
      target: KUBE_CONFIG

多集群示例

此示例演示使用Drone矩阵管理多个集群。推送到或合并至master分支时会自动部署到测试集群。生产集群可通过drone deploy命令手动部署,以便更好地控制哪些版本进入生产环境。

yaml
matrix:
  include:
    - cluster: my-prod-cluster-1
      stage: prod
    - cluster: my-prod-cluster-2
      stage: prod
    - cluster: my-test-cluster-1
      stage: test
    - cluster: my-test-cluster-2
      stage: test

pipeline:
  deploy-charts-prod:
    when:
      event: deployment
      matrix:
        stage: prod
        cluster: ${DRONE_DEPLOY_TO}
    image: path-to-docker/image:version
    cluster_config: clusters/${cluster}.yaml
    kube_context: ${cluster}
    secrets:
      - source: my-kube-config-drone-secret
        target: KUBE_CONFIG

  deploy-charts-test:
    when:
      event: push
      branch: master
    image: path-to-docker/image:version
    cluster_config: clusters/${cluster}.yaml
    kube_context: ${cluster}
    secrets:
      - source: my-kube-config-drone-secret
        target: KUBE_CONFIG

文件和目录结构

 chart-configs/
 |- clusters/
    |- my-cluster-name.yaml
    |- my-other-cluster-name.yaml
 |- values/
    |- cluster-autoscaler/            # 集群文件中的发布名称
       |- default.yaml                # 所有集群的覆盖配置
       |- my-cluster-name.yaml        # 特定集群的覆盖配置
       |- my-other-cluster-name.yaml
    |- my-chart/
       |- default.yaml

clusters/my-cluster-name.yaml:

yaml
name: my-cluster-name  # 用于查找特定集群的覆盖文件
helm:
  defaultHistory: 3  # 可选;为所有发布的"helm"部署方法设置--history-max标志
  log: 5 # 指定日志级别
  debug: false # 启用调试级别日志
  repos:  # 让Helm知晓您要使用的任何仓库
    - name: stable
      url: [***]
    - name: private-repo
      url: [***]
releases:
  - name: cluster-autoscaler  # 指定发布名称
    chartPath: stable/cluster-autoscaler  # 指定图表来源
    namespace: kube-system  # 指定安装的命名空间
    version: 0.7.0  # 指定要安装的图表版本
    deploymentMethod: helm # 指定图表的部署方式("helm"或"kubectl")
    history: 3  # 可选;为此发布的"helm"部署方法设置--history-max标志
  - name: my-chart
    chartPath: private-repo/my-chart
    namespace: kube-system
    version: ~1.x  # 支持与Helm的--version标志相同的语法
    deploymentMethod: kubectl

在上述示例中,deploymentMethod选项允许配置Helm图表的部署方式。有两种可用方法:

  • helm:使用Helm的常规安装方法(由Tiller pod创建图表中声明的资源)。
  • kubectl:如果不想在集群中运行Tiller pod,可使用此选项运行helm template将图表转换为Kubernetes清单,然后使用kubectl应用该清单。

values/my-chart/default.yaml:

yaml
# 在此处放置任何覆盖配置,与Helm的用法相同。
# 此文件将作为覆盖配置传递给Helm。
resources:
  cpu:
    requests: 100m
    limits: 200m
  memory:
    requests: 1Gi
    limits: 1Gi

从tar文件部署发布

  1. release中添加chartsSource字段,使impeller下载图表tar归档文件
  2. 设置chartPath指向提取的图表位置。
yaml
releases:
  - name: istio-base
    namespace: kube-system
    version: ~x.x.x
    chartPath: "./downloads/istio-1.6.0/manifests/charts/base"
    chartsSource: "[***]"

其他示例

使用环境变量覆盖值

使用Helm的--set功能覆盖单个值。

在集群YAML文件中添加以下发布配置:

yaml
- name: release-name
  namespace: default
  version: 1.0.0
  chartPath: repo/chart-name
  overrides:
    - target: tls.key
      showValue: false
      valueFrom:
        environment: KEY

如果将showValue设置为true,环境变量的值将记录到stdout以用于调试。默认情况下,该值会被脱敏。

使用文件覆盖值

使用Helm的--set-file功能从文件覆盖单个值。

在集群YAML文件中添加以下发布配置:

yaml
- name: release-name
  namespace: default
  version: 1.0.0
  chartPath: repo/chart-name
  overrides:
    - target: tls.key
      valueFrom:
        file: /path/to/key

由于值不会被记录,从文件设置值时showValue无效。文件路径始终会记录到stdout

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"