bitnamicharts/whereaboutsWhereabouts是Kubernetes集群的CNI IPAM插件,可在集群范围内动态分配IP地址,同时支持IPv4和IPv6寻址。
Whereabouts概述
商标:本软件列表由Bitnami打包。产品中提及的 respective 商标归各自公司所有,使用这些商标并不意味着任何关联或认可。
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/whereabouts
希望在生产环境中使用Whereabouts?请尝试VMware Tanzu Application Catalog,即Bitnami目录的商业版。
自2025年8月28日起,Bitnami将改进其公共目录,在新的Bitnami安全镜像计划下提供精选的强化、安全聚焦镜像集。作为此次过渡的一部分:
这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提高所有Bitnami用户的安全态势。更多详情,请访问Bitnami安全镜像公告。
此chart使用Helm包管理器在Kubernetes集群上引导Whereabouts部署。
要使用发布名称“my-release”安装chart:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/whereabouts
注意:您需要将占位符
REGISTRY_NAME和REPOSITORY_NAME替换为Helm chart仓库和存储库的引用。例如,对于Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
该命令使用默认配置在Kubernetes集群上部署Whereabouts。参数部分列出了可在安装过程中配置的参数。
提示:使用
helm list列出所有发布
Bitnami charts允许为chart部署内的所有容器设置资源请求和限制,这些配置位于resources值中(参见参数表)。设置请求对于生产工作负载至关重要,应根据具体用例进行调整。
为简化此过程,chart包含resourcesPreset值,可根据不同预设自动设置resources部分。有关这些预设,请查看bitnami/common chart。但在生产工作负载中,不建议使用resourcesPreset,因为它可能无法完全适应您的特定需求。有关容器资源管理的更多信息,请参见Kubernetes官方文档。
强烈建议在生产环境中使用不可变标签,以确保如果相同标签使用不同镜像更新,部署不会自动更改。
如果主容器有新版本、重大变更或存在严重漏洞,Bitnami将发布新的chart来更新其容器。
安装后,helm chart将修改Kubernetes集群主机节点中的配置文件。确保集群允许root和特权部署。
安装whereabouts配置后,请查看上游Kubernetes文档,了解如何修改集群的网络设置。
重要:请仔细检查主机CNI二进制文件和配置目录是否正确配置,否则部署将失败。这通过
hostCNINetDir和hostCNIBinDir值进行配置。
image参数允许指定chart将拉取的镜像。
如果将image值配置为私有仓库中的镜像,则需要指定镜像拉取密钥。
在命名空间中手动创建镜像拉取密钥。参见此YAML示例参考。有关获取适当密钥的信息,请查阅您的镜像仓库文档。
注意,当前无法使用--set参数将imagePullSecrets配置值传递给helm,因此必须使用values.yaml文件提供这些配置,例如:
yamlimagePullSecrets: - name: SECRET_NAME
安装chart
此chart允许使用affinity参数设置自定义亲和性。有关Pod亲和性的更多信息,请参见kubernetes文档。
作为替代方案,您可以使用bitnami/common chart中提供的Pod亲和性、Pod反亲和性和节点亲和性预设配置。为此,设置podAffinityPreset、podAntiAffinityPreset或nodeAffinityPreset参数。
要在Kubernetes上备份和恢复Helm chart部署,需要使用Kubernetes备份/恢复工具Velero备份源部署的持久卷,并将其附加到新部署。有关使用Velero的说明,请参见本指南。
| 名称 | 描述 | 值 |
|---|---|---|
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 |
| 名称 | 描述 | 值 |
|---|---|---|
kubeVersion | 强制目标Kubernetes版本(如果未设置,则使用Helm功能) | "" |
nameOverride | 部分覆盖whereabouts.fullname模板的字符串(将保留发布名称) | "" |
fullnameOverride | 完全覆盖whereabouts.fullname模板的字符串 | "" |
namespaceOverride | 完全覆盖common.names.namespace的字符串 | "" |
commonAnnotations | 要添加到所有Whereabouts资源的通用注解(不包括子chart)。作为模板计算 | {} |
commonLabels | 要添加到所有Whereabouts资源的通用标签(不包括子chart)。作为模板计算 | {} |
extraDeploy | 要随发布一起部署的额外对象数组(作为模板计算) | [] |
diagnosticMode.enabled | 启用诊断模式(所有探针将被禁用,命令将被覆盖) | false |
diagnosticMode.command | 覆盖部署中所有容器的命令 | ["sleep"] |
diagnosticMode.args | 覆盖部署中所有容器的参数 | ["infinity"] |
| 名称 | 描述 | 值 |
|---|---|---|
image.registry | Whereabouts镜像仓库 | REGISTRY_NAME |
image.repository | Whereabouts镜像名称 | REPOSITORY_NAME/whereabouts |
image.digest | Whereabouts镜像摘要,格式为sha256:aa....注意:如果设置此参数,将覆盖标签 | "" |
image.pullPolicy | Whereabouts镜像拉取策略 | IfNotPresent |
image.pullSecrets | 指定docker-registry密钥名称数组 | [] |
image.debug | 指定是否启用调试日志 | false |
hostCNIBinDir | 要挂载的主机上的CNI二进制目录 | /opt/cni/bin |
hostCNINetDir | 要挂载的主机上的CNI net.d目录 | /etc/cni/net.d |
CNIMountPath | 容器内挂载CNI目录的路径 | /bitnami/whereabouts/host |
command | 覆盖默认容器命令(使用自定义镜像时有用) | [] |
args | 覆盖默认容器参数(使用自定义镜像时有用) | [] |
updateStrategy.type | 更新策略 - 仅对附加RWO PV的部署真正适用 | RollingUpdate |
priorityClassName | Whereabouts pod的priorityClassName | "" |
schedulerName | k8s调度器名称(非默认) | "" |
topologySpreadConstraints | Pod分配的拓扑扩展约束 | [] |
automountServiceAccountToken | 在pod中挂载服务账户令牌 | true |
hostAliases | 添加部署主机别名 | [] |
extraEnvVars | 额外环境变量 | [] |
extraEnvVarsCM | 包含额外环境变量的ConfigMap | "" |
extraEnvVarsSecret | 包含额外环境变量的Secret(用于敏感数据) | "" |
extraVolumes | 要添加到部署的额外卷数组(作为模板计算)。需要设置extraVolumeMounts | [] |
extraVolumeMounts | 要添加到容器的额外卷挂载数组(作为模板计算)。通常与extraVolumes一起使用 | [] |
initContainers | 向pod添加额外的初始化容器(作为模板计算) | [] |
sidecars | 向pod附加额外的容器(作为模板计算) | [] |
tolerations | Pod分配的容忍度 | [] |
podAffinityPreset | Pod亲和性预设。如果设置了affinity,则忽略。允许值:soft或hard | "" |
podAntiAffinityPreset | Pod反亲和性预设。如果设置了affinity,则忽略。允许值:soft或hard | soft |
nodeAffinityPreset.type | 节点亲和性预设类型。如果设置了affinity,则忽略。允许值:soft或hard | "" |
nodeAffinityPreset.key | 要匹配的节点标签键。如果设置了affinity,则忽略 | "" |
nodeAffinityPreset.values | 要匹配的节点标签值。如果设置了affinity,则忽略 | [] |
affinity | Pod分配的亲和性 | {} |
nodeSelector | Pod分配的节点标签。作为模板计算 | {} |
resourcesPreset | 根据通用预设设置容器资源(允许值:none、nano、micro、small、medium、large、xlarge、2xlarge)。如果设置了resources,则忽略(生产环境推荐使用resources) | nano |
resources | 设置容器对CPU或内存等不同资源的请求和限制(生产工作负载必需) | {} |
podSecurityContext.enabled | 启用Whereabouts pod的安全上下文 | true |
podSecurityContext.fsGroupChangePolicy | 设置文件系统组更改策略 | Always |
podSecurityContext.sysctls | 使用sysctl接口设置内核参数 | [] |
注意:此chart的README超出了DockerHub 25000字符的长度限制,因此已被截断。完整README可在[***]
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务