如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
kiam 是一个代理,用于捕获AWS Metadata API请求。它允许为Kubernetes工作负载设置AWS IAM角色。
https://github.com/uswitch/kiam
商标声明:本软件列表由Bitnami打包。所提及的相关商标归各自公司所有,使用这些商标并不意味着任何关联或认可。
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/kiam
注意:您需要将占位符
REGISTRY_NAME和REPOSITORY_NAME替换为Helm图表仓库和存储库的引用。例如,对于Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。 注意:KIAM 设计用于部署在AWS上的Kubernetes集群,尽管也可在其他环境中部署。
希望在生产环境中使用Kiam?试试 VMware Tanzu Application Catalog,即Bitnami目录的商业版本。
自2025年8月28日起,Bitnami将升级其公共目录,在新的Bitnami Secure Images计划下提供精选的强化、安全聚焦镜像集。作为此次转型的一部分:
这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提升所有Bitnami用户的安全态势。更多详情,请访问https://github.com/bitnami/containers/issues/83267%E3%80%82
Bitnami的Helm图表经过精心设计、积极维护,是在Kubernetes集群上部署容器的最快、最简单方式,可直接用于生产工作负载。
本图表使用Helm包管理器在Kubernetes集群上引导部署https://github.com/bitnami/containers/tree/main/bitnami/kiam%E3%80%82
要使用发布名称 my-release 安装图表:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/kiam
注意:您需要将占位符
REGISTRY_NAME和REPOSITORY_NAME替换为Helm图表仓库和存储库的引用。例如,对于Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
这些命令将以默认配置在Kubernetes集群上部署kiam应用。
提示:使用
helm list查看所有发布
Bitnami图表允许为图表部署中的所有容器设置资源请求和限制,这些配置位于 resources 值中(参见参数表)。设置请求对于生产工作负载至关重要,应根据具体用例调整。
为简化此过程,图表包含 resourcesPreset 值,可根据不同预设自动设置 resources 部分。有关这些预设,请参见https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15%E3%80%82%E4%BD%86%E5%9C%A8%E7%94%9F%E4%BA%A7%E5%B7%A5%E4%BD%9C%E8%B4%9F%E8%BD%BD%E4%B8%AD%EF%BC%8C%E4%B8%8D%E5%BB%BA%E8%AE%AE%E4%BD%BF%E7%94%A8 resourcesPreset,因为它可能无法完全适应您的具体需求。有关容器资源管理的更多信息,请参见官方Kubernetes文档。
强烈建议在生产环境中使用不可变标签。这可确保如果相同标签更新为不同镜像时,部署不会自动更改。
如果主容器有新版本、重大变更或严重漏洞,Bitnami将发布新图表更新其容器。
通过将 *.metrics.enabled(在 server 和 agent 部分下)设置为 true,本图表可与Prometheus集成。这将在服务中公开Kiam原生Prometheus端点,并包含必要的注解以被Prometheus自动抓取。
Prometheus要求
集成需确保已安装Prometheus或Prometheus Operator。安装https://github.com/bitnami/charts/tree/main/bitnami/prometheus%E6%88%96https://github.com/bitnami/charts/tree/main/bitnami/kube-prometheus%EF%BC%8C%E5%8F%AF%E5%9C%A8%E9%9B%86%E7%BE%A4%E4%B8%AD%E8%BD%BB%E6%9D%BE%E9%83%A8%E7%BD%B2%E5%8F%AF%E7%94%A8%E7%9A%84Prometheus%E3%80%82
与Prometheus Operator集成
通过设置 *.metrics.serviceMonitor.enabled=true(在 server 和 agent 部分下),图表可部署 ServiceMonitor 对象以与Prometheus Operator集成。确保集群中已安装Prometheus Operator CustomResourceDefinitions,否则将失败并显示以下错误:
textno matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
安装https://github.com/bitnami/charts/tree/main/bitnami/kube-prometheus%E4%BB%A5%E8%8E%B7%E5%8F%96%E5%BF%85%E8%A6%81%E7%9A%84CRD%E5%92%8CPrometheus Operator。
要在Kubernetes上备份和恢复Helm图表部署,需使用Velero(Kubernetes备份/恢复工具)备份源部署的持久卷,并将其附加到新部署。有关使用Velero的说明,请参见本指南。
如需添加额外环境变量(用于高级操作,如自定义初始化脚本),可使用 server.extraEnvVars 和 agent.extraEnvVars 属性。
yamlserver: extraEnvVars: - name: LOG_LEVEL value: error
或者,可使用ConfigMap或Secret存储环境变量。为此,使用 server.extraEnvVarsCM、agent.extraEnvVarsCM 或 server.extraEnvVarsSecret、agent.extraEnvVarsSecret 值。
如需在Kiam所在的Pod中添加额外容器(如额外的指标或日志导出器),可使用 sidecars 参数定义。
yamlsidecars: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
如果这些sidecar导出额外端口,可使用 service.extraPorts 参数(如可用)添加额外端口定义,示例如下:
yamlservice: extraPorts: - name: extraPort port: 11311 targetPort: 11311
注意:本Helm图表已包含Prometheus导出器的sidecar容器(如适用)。可在部署时添加
--enable-metrics=true参数激活。因此,sidecars参数仅应用于额外的sidecar容器。
如需在同一Pod中添加额外init容器,可使用 initContainers 参数定义。示例:
yamlinitContainers: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
了解更多关于sidecar容器和init容器的信息。
如需部署额外对象(如包含应用配置的ConfigMap或应用使用的微服务的额外部署),图表允许使用 extraDeploy 参数添加其他对象的完整规范。
本图表允许使用 server.affinity 和 agent.affinity 参数设置自定义亲和性。有关Pod亲和性的更多信息,请参见kubernetes文档。
作为替代,可使用https://github.com/bitnami/charts/tree/main/bitnami/common#affinities%E5%9B%BE%E8%A1%A8%E4%B8%AD%E9%A2%84%E8%AE%BE%E7%9A%84Pod%E4%BA%B2%E5%92%8C%E6%80%A7%E3%80%81Pod%E5%8F%8D%E4%BA%B2%E5%92%8C%E6%80%A7%E5%92%8C%E8%8A%82%E7%82%B9%E4%BA%B2%E5%92%8C%E6%80%A7%E9%85%8D%E7%BD%AE%E3%80%82%E4%B8%BA%E6%AD%A4%EF%BC%8C%E8%AE%BE%E7%BD%AE server.podAffinityPreset、agent.podAffinityPreset、server.podAntiAffinityPreset、agent.podAntiAffinityPreset 或 server.nodeAffinityPreset、agent.nodeAffinityPreset 参数。
本图表将简化TLS密钥的创建以供kiam使用。常见场景有三种:
默认应用第一种场景。第二种场景需提供证书和密钥。
证书文件示例如下。如有证书链,可能包含多个证书:
console-----BEGIN CERTIFICATE----- MIID6TCCAtGgAwIBAgIJAIaCwivkeB5EMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV ... jScrvkiBO65F46KioCL9h5tDvomdU1aqpI/CBzhvZn1c0ZTf87tGQR8NK7v7 -----END CERTIFICATE-----
证书密钥示例如下:
console-----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAvLYcyu8f3skuRyUgeeNpeDvYBCDcgq+LsWap6zbX5f8oLqp4 ... wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc= -----END RSA PRIVATE KEY-----
如使用值文件管理证书,将上述值分别复制到 server.tlsFiles.cert、server.tlsFiles.ca、server.tlsFiles.key 或 agent.tlsFiles.cert、agent.tlsFiles.ca、agent.tlsFiles.key 参数中。
如在Helm外部管理TLS密钥,可创建TLS密钥(例如命名为 kiam.local-tls),并使用 server.tlsSecret 或 agent.tlsSecret 参数设置。
| 名称 | 描述 | 值 |
|---|---|---|
global.imageRegistry | 全局Docker镜像仓库 | "" |
global.imagePullSecrets | 全局Docker仓库密钥名称数组 | [] |
global.defaultStorageClass | 持久卷的全局默认存储类 | "" |
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 |
| 名称 | 描述 | 值 |
|---|---|---|
kubeVersion | 强制目标Kubernetes版本(未设置则使用Helm能力) | "" |
nameOverride | 发布名称覆盖 | "" |
fullnameOverride | 发布完整名称覆盖 | "" |
commonLabels | 添加到所有部署对象的标签 | {} |
commonAnnotations | 添加到所有部署对象的注解 | {} |
extraDeploy | 随发布部署的额外对象数组 | [] |
diagnosticMode.enabled | 启用诊断模式(所有探针将被禁用,命令将被覆盖) | false |
diagnosticMode.command | 覆盖部署/有状态集中所有容器的命令 | ["sleep"] |
diagnosticMode.args | 覆盖部署/有状态集中所有容器的参数 | ["infinity"] |
| 名称 | 描述 | 值 |
|---|---|---|
image.registry | kiam镜像仓库 | REGISTRY_NAME |
image.repository | kiam镜像名称 | REPOSITORY_NAME/kiam |
image.digest | kiam镜像摘要(格式sha256:aa....,如设置将覆盖标签) | "" |
image.pullPolicy | kiam镜像拉取策略 | IfNotPresent |
image.pullSecrets | 镜像拉取密钥名称数组 | [] |
| 名称 | 描述 | 值 |
|---|---|---|
server.enabled | 部署kiam服务器 | true |
server.containerPort | 容器级暴露的HTTPS端口 | 8443 |
server.resourceType | 指定服务器部署方式(允许值:daemonset 和 deployment) | daemonset |
server.automountServiceAccountToken | 在Pod中挂载服务账户令牌 | true |
server.hostAliases | 添加部署主机别名 | [] |
server.useHostNetwork | 使用主机网络(端口将直接暴露在主机上) | false |
server.replicaCount | 部署副本数(当server.resourceType为daemonset时) | 1 |
server.logJsonOutput | 使用JSON格式日志 | true |
server.logLevel | 日志级别 | info |
server.sslCertHostPath | 主机系统SSL证书路径(用于联系AWS元数据服务器) | /etc/ssl/certs |
server.podSecurityPolicy.create | 是否创建PodSecurityPolicy。警告:PodSecurityPolicy在Kubernetes v1.21及更高版本中已弃用,在v1.25及更高版本中不可用 | true |
server.podSecurityPolicy.allowedHostPaths | PodSecurityPolicy中允许的额外主机路径 | [] |
server.priorityClassName | 服务器优先级类名称 | "" |
server.schedulerName | k8s调度器名称(非默认) | "" |
server.topologySpreadConstraints | Pod分配的拓扑扩展约束 | [] |
server.startupProbe.enabled | 启用启动探针 | false |
server.startupProbe.initialDelaySeconds | 启动探针初始延迟秒数 | 5 |
server.startupProbe.periodSeconds | 启动探针周期秒数 | 30 |
server.startupProbe.timeoutSeconds | 启动探针超时秒数 | 5 |
server.startupProbe.failureThreshold | 启动探针失败阈值 | 5 |
server.startupProbe.successThreshold | 启动探针成功阈值 | 1 |
注意:本图表的README因超出DockerHub 25000字符限制已被截断。完整README可在https://github.com/bitnami/charts/blob/main/bitnami/kiam/README.md%E6%9F%A5%E7%9C%8B%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




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