本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Contour是一款开源的Kubernetes Ingress控制器,通过部署代理作为反向代理和负载均衡器运行。Bitnami提供的Helm图表可在Kubernetes集群上快速部署Contour Ingress Controller Deployment和 Proxy DaemonSet,适用于生产环境的容器化应用流量管理。
Contour官方概述
商标说明:本软件列表由Bitnami打包。所提及的相关商标归各自公司所有,使用这些商标并不意味着任何关联或背书。
helm install my-release oci://registry-1.docker.io/bitnamicharts/contour
如需在生产环境使用Contour,可尝试VMware Tanzu Application Catalog,即Bitnami目录的商业版。
自2025年8月28日起,Bitnami将升级其公共目录,在新的Bitnami Secure Images计划下提供精选的强化、安全聚焦镜像集。此次变更包括:
这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提升所有Bitnami用户的安全态势。更多详情请访问Bitnami Secure Images公告。
ServiceType: Load***的Operator(如MetalLB)以发布名称my-release安装图表:
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/contour
注意:需将占位符
REGISTRY_NAME和REPOSITORY_NAME替换为Helm图表仓库和存储库的引用。例如,Bitnami的配置为REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
上述命令使用默认配置在Kubernetes集群上部署Contour。参数部分列出了安装过程中可配置的参数。
提示:使用
helm list或helm ls --all-namespaces列出所有发布版本。
Bitnami图表允许为图表部署内的所有容器设置资源请求和限制,通过resources值配置(参见参数表)。设置请求对于生产工作负载至关重要,应根据具体使用场景调整。
图表包含resourcesPreset值,可根据不同预设自动设置resources部分(预设定义见bitnami/common图表)。但生产环境中不建议使用resourcesPreset,因其可能无法完全适应特定需求。有关容器资源管理的更多信息,请参阅Kubernetes官方文档。
通过将metrics.enabled设置为true,可将图表与Prometheus集成。这会暴露Contour和***(如***.service.exposeMetrics=true)的原生Prometheus端口,并部署带有自动抓取注解的metrics服务。
需安装Prometheus或Prometheus Operator才能使集成生效。可安装Bitnami Prometheus Helm图表或Bitnami Kube Prometheus Helm图表以快速搭建Prometheus环境。
设置metrics.serviceMonitor.enabled=true可部署ServiceMonitor对象,实现与Prometheus Operator的集成。确保集群中已安装Prometheus Operator的CustomResourceDefinitions,否则会出现以下错误:
no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
安装Bitnami Kube Prometheus Helm图表可获取所需的CRD和Prometheus Operator。
生产环境强烈建议使用不可变标签,确保部署不会因相同标签被更新为不同镜像而自动变更。Bitnami会在主容器更新、重大变更或存在严重漏洞时发布新图表以更新容器。
有关Contour配置的详细信息,请参阅Contour配置文档。
要在Kubernetes上备份和恢复Helm图表部署,需使用Kubernetes备份/恢复工具Velero备份源部署的持久卷,并将其附加到新部署。Velero使用指南见此文档。
configInline: # Contour是否在K8s集群内运行 # incluster: true # # kubeconfig路径(如不在K8s集群内运行) # kubeconfig: /path/to/.kube/config # # 传递给***的客户端请求超时时间,作为连接管理器的request_timeout # 默认值为0,***将其解释为禁用。注意这是整个请求的超时,非空闲超时。 # request-timeout: 0s # 禁用IngressRoute的permitInsecure字段 disablePermitInsecure: false tls: # Contour协商的最低TLS版本 # minimum-protocol-version: "1.1" # 定义Kubernetes中用于 fallback 证书的secret名称/命名空间(当请求不匹配虚拟主机的SNI时使用) fallback-certificate: # name: fallback-secret-name # namespace: projectcontour # 以下是选举领导者的默认配置 # leaderelection: # configmap-name: leader-elect # configmap-namespace: projectcontour ### 日志选项 # 默认设置 accesslog-format: *** # 启用***的JSON日志 # accesslog-format: json # 默认日志字段如下,可通过添加/删除条目自定义 # 完整字段列表见[***] # json-fields: # - "@timestamp" # - "authority" # - "bytes_received" # - "bytes_sent" # - "downstream_local_address" # - "downstream_remote_address" # - "duration" # - "method" # - "path" # - "protocol" # - "request_id" # - "requested_server_name" # - "response_code" # - "response_flags" # - "uber_trace_id" # - "upstream_cluster" # - "upstream_host" # - "upstream_local_address" # - "upstream_service_time" # - "user_agent" # - "x_forwarded_for" # # default-http-versions: # - "HTTP/2" # - "HTTP/1.1" # # 以下是默认代理超时设置 # timeouts: # request-timeout: infinity # connection-idle-timeout: 60s # stream-idle-timeout: 5m # max-connection-duration: infinity # connection-shutdown-grace-period: 5s
默认情况下,Contour使用AWS Classic ELB启动。如需使用NLB,可设置以下配置:
***: service: annotations: service.beta.kubernetes.io/aws-load-***-type: nlb service.beta.kubernetes.io/aws-load-***-ssl-ports: "https" service.beta.kubernetes.io/aws-load-***-connection-idle-timeout: "3600" service.beta.kubernetes.io/aws-load-***-ssl-cert: arn:aws:acm:XX-XXXX-X:XXXXXXXXX:certificate/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX containerPorts: http: 80 https: 80
可通过XXX.affinity参数设置自定义亲和性(更多信息见Kubernetes文档)。也可使用bitnami/common图表提供的预设配置,通过XXX.podAffinityPreset、XXX.podAntiAffinityPreset或XXX.nodeAffinityPreset参数设置。
| 名称 | 描述 | 值 |
|---|---|---|
global.imageRegistry | 全局Docker镜像仓库 | "" |
global.imagePullSecrets | 全局Docker仓库密钥名称数组 | [] |
global.defaultStorageClass | 持久卷的全局默认StorageClass | "" |
global.storageClass | 已弃用:使用global.defaultStorageClass替代 | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 调整部署的securityContext以兼容OpenShift restricted-v2 SCC:移除runAsUser、runAsGroup和fsGroup,让平台使用允许的默认ID。可能值:auto(检测到OpenShift集群时应用)、force(始终应用)、disabled(不应用) | auto |
| 名称 | 描述 | 值 |
|---|---|---|
nameOverride | 部分覆盖contour.fullname(保留发布名称) | "" |
fullnameOverride | 完全覆盖contour.fullname模板 | "" |
namespaceOverride | 完全覆盖common.names.namespace | "" |
kubeVersion | 强制目标Kubernetes版本(未设置则使用Helm能力检测) | "" |
extraDeploy | 要随发布一起部署的额外对象数组 | [] |
commonLabels | 添加到所有部署对象的标签 | {} |
commonAnnotations | 添加到所有部署对象的注解 | {} |
diagnosticMode.enabled | 启用诊断模式(禁用所有探针并覆盖命令) | false |
diagnosticMode.command | 覆盖部署中所有容器的命令 | [] |
diagnosticMode.args | 覆盖部署中所有容器的参数 | [] |
| 名称 | 描述 | 值 |
|---|---|---|
contour.enabled | 是否创建Contour Deployment | true |
contour.image.registry | Contour镜像仓库 | REGISTRY_NAME |
contour.image.repository | Contour镜像名称 | REPOSITORY_NAME/contour |
contour.image.pullPolicy | Contour镜像拉取策略 | IfNotPresent |
contour.replicaCount | Contour Pod副本数 | 1 |
contour.containerPorts.xds | Contour Pod内xds端口 | 8001 |
contour.containerPorts.metrics | Contour Pod内metrics端口 | 8000 |
contour.resourcesPreset | 按预设设置容器资源(允许值:none、nano、micro、small、medium、large、xlarge、2xlarge,contour.resources优先) | nano |
注意:完整参数列表请参见Bitnami Contour图表README(原文档因长度限制被截断)。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429