
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Emissary-ingress 是一个基于 Envoy 代理的开源 Kubernetes 入口控制器和 API 网关,旨在简化 Kubernetes 集群的入站流量管理。它通过 Kubernetes 原生资源(如 Ingress、CustomResourceDefinition)提供声明式配置,支持动态流量路由、服务发现和高级流量管理策略,适用于微服务架构下的复杂通信场景。
Mapping、Host、TLSContext)实现动态配置Emissary-ingress 主要在 Kubernetes 集群中部署,推荐使用 Helm 进行安装:
1. 添加 Helm 仓库
bashhelm repo add datawire https://www.getambassador.io helm repo update
2. 安装 Emissary-ingress
bashhelm install emissary-ingress datawire/emissary-ingress \ --namespace emissary-system \ --create-namespace \ --set service.type=LoadBalancer # 或 NodePort/ClusterIP,根据环境选择
3. 验证部署
bashkubectl get pods -n emissary-system
1. 配置基础入口路由(Ingress 资源)
yamlapiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: basic-ingress annotations: kubernetes.io/ingress.class: emissary # 指定使用 Emissary 控制器 spec: rules: - host: example.com http: paths: - path: /service1 pathType: Prefix backend: service: name: service1 port: number: 80
2. 高级路由配置(Mapping CRD)
使用 Mapping 自定义资源实现更复杂的路由规则:
yamlapiVersion: getambassador.io/v3alpha1 kind: Mapping metadata: name: service2-mapping spec: prefix: /v2/service2/ service: service2:8080 host: api.example.com headers: x-api-version: v2 # 仅匹配包含此请求头的流量 rewrite: / # 将前缀 /v2/service2/ 重写为 / timeout_ms: 5000 # 设置请求超时为 5 秒
Emissary-ingress 容器支持以下关键环境变量进行配置:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
EMISSARY_LOG_LEVEL | 日志级别(debug、info、warn、error) | info |
ENVOY_ADMIN_PORT | Envoy 管理接口端口 | 8001 |
AMBASSADOR_ID | 用于标识多个 Emissary 实例的 ID | default |
STATSD_HOST | StatsD 服务器地址(用于指标收集) | 未设置 |
STATSD_PORT | StatsD 服务器端口 | 8125 |
TLS_MIN_VERSION | 最低 TLS 版本(如 TLSv1.2) | TLSv1.2 |
通过 EnvoyFilter 自定义资源可扩展 Envoy 配置(需熟悉 Envoy 配置结构):
yamlapiVersion: getambassador.io/v3alpha1 kind: EnvoyFilter metadata: name: custom-envoy-config spec: workloadSelector: labels: service: emissary-ingress configPatches: - applyTo: HTTP_FILTER match: context: SIDECAR_INBOUND listener: portNumber: 8080 filterChain: filter: name: "envoy.filters.network.http_connection_manager" subFilter: name: "envoy.filters.http.router" patch: operation: INSERT_BEFORE value: name: "envoy.filters.http.lua" typed_config: "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua" inlineCode: | function envoy_on_request(request_handle) -- 自定义 Lua 脚本逻辑 end
Mapping CRD 而非标准 Ingress 资源配置,以利用高级特性您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务