Package v1beta1 是 API 的 v1beta1 版本。
TracingConfiguration出现于
TracingConfiguration 提供 OpenTelemetry 跟踪客户端的版本化配置。
| 字段 | 描述 |
|---|---|
endpoint字符串 | 收集器的端点,此组件将把跟踪报告到该端点。连接不安全,目前不支持 TLS。建议取消设置,端点是 otlp grpc 默认值,localhost:4317。 |
samplingRatePerMillionint32 | SamplingRatePerMillion 是每百万跨度要收集的样本数。建议取消设置。如果取消设置,采样器会尊重其父跨度的采样率,但否则永远不会采样。 |
AuthenticationConfigurationAuthenticationConfiguration 为认证提供版本化配置。
| 字段 | 描述 |
|---|---|
apiVersion字符串 | apiserver.k8s.io/v1beta1 |
kind字符串 | AuthenticationConfiguration |
jwt [必需][]JWTAuthenticator | jwt 是一个认证器列表,用于使用符合 JWT 标准的令牌对 Kubernetes 用户进行认证。认证器将尝试解析原始 ID 令牌,并验证它是否由配置的颁发者(issuer)签名。用于验证签名的公钥是从颁发者的公共端点通过 OIDC 发现机制获取的。对于传入的令牌,系统将按照此列表中指定的顺序尝试每个 JWT 认证器。请注意,其他认证器可能在 JWT 认证器之前或之后运行。JWT 认证器相对于其他认证器的具体位置既未定义,在各版本发布中也不稳定。由于每个 JWT 认证器必须拥有唯一的颁发者 URL,因此最多只会有一个 JWT 认证器尝试对令牌进行加密验证。 有效的 JWT 有效负载至少必须包含以下声明:{ "iss": "https://issuer.example.com", "aud": ["audience"], "exp": 1234567890, "": "username" } |
anonymous [必需]AnonymousAuthConfig | 如果存在,则不能设置 --anonymous-auth |
AuthorizationConfiguration| 字段 | 描述 |
|---|---|
apiVersion字符串 | apiserver.k8s.io/v1beta1 |
kind字符串 | AuthorizationConfiguration |
authorizers [必需][]AuthorizerConfiguration | Authorizers 是一个有序的授权器列表,用于对请求进行授权。这类似于 kube-apiserver 标志 --authorization-modes 必须至少有一个。 |
EgressSelectorConfigurationEgressSelectorConfiguration 为出口选择器(Egress Selector)客户端提供版本化配置。
| 字段 | 描述 |
|---|---|
apiVersion字符串 | apiserver.k8s.io/v1beta1 |
kind字符串 | EgressSelectorConfiguration |
egressSelections [必需][]EgressSelection | connectionServices 包含出口选择器客户端配置的列表 |
TracingConfigurationTracingConfiguration 为追踪客户端提供版本化配置。
| 字段 | 描述 |
|---|---|
apiVersion字符串 | apiserver.k8s.io/v1beta1 |
kind字符串 | TracingConfiguration |
TracingConfiguration [必需]TracingConfiguration | (TracingConfiguration 的成员被嵌入到此类型中。)嵌入组件配置的追踪配置结构体 |
AnonymousAuthCondition出现于
AnonymousAuthCondition 描述了启用匿名认证的条件。
| 字段 | 描述 |
|---|---|
path [必需]字符串 | 启用匿名认证的路径。 |
AnonymousAuthConfig出现于
AnonymousAuthConfig 提供匿名认证器的配置。
| 字段 | 描述 |
|---|---|
enabled [必需]bool | 未提供描述。 |
conditions [必需][]AnonymousAuthCondition | 如果设置,只有当请求满足其中一个条件时,才允许匿名认证。 |
AudienceMatchPolicyType(string 的别名)
出现于
AudienceMatchPolicyType 是一组针对 issuer.audienceMatchPolicy 的有效值
AuthorizerConfiguration出现于
| 字段 | 描述 |
|---|---|
type [必需]字符串 | Type 指示授权器的类型 "Webhook" 在通用 API 服务器中受支持。其他 API 服务器可能支持其他授权器类型,例如 Node、RBAC、ABAC 等。 |
name [必需]字符串 | 用于描述 webhook 的名称。这在监控机制中明确用于指标。必需,没有默认值 |
webhook [必需]WebhookConfiguration | Webhook 定义 Webhook 授权器的配置。必须在 Type=Webhook 时定义。在 Type!=Webhook 时不得定义。 |
ClaimMappings出现于
ClaimMappings 提供声明映射的配置
| 字段 | 描述 |
|---|---|
username [必需]PrefixedClaimOrExpression | username 代表用户名属性的选项。该声明的值必须是一个单字符串。与 --oidc-username-claim 和 --oidc-username-prefix 标志相同。如果设置了 username.expression,则表达式必须产生一个字符串值。如果 username.expression 使用了 'claims.email',那么在 username.expression 或 extra[*].valueExpression 或 claimValidationRules[*].expression 中必须使用 'claims.email_verified'。一个与 username.claim 设置为 'email' 时自动应用的验证相匹配的声明验证规则表达式示例为 'claims.?email_verified.orValue(true) == true'。通过显式将值与 true 进行比较,我们让类型检查器看到结果将是一个布尔值,并确保在运行时捕获非布尔值的 email_verified 声明。 在基于标志的方法中,--oidc-username-claim 和 --oidc-username-prefix 是可选的。如果未设置 --oidc-username-claim,默认值为 "sub"。对于认证配置,声明或前缀没有默认值。必须显式设置声明和前缀。对于声明,如果未通过旧标志方法设置 --oidc-username-claim,请在认证配置中将 username.claim 配置为 "sub"。对于前缀:(1) --oidc-username-prefix="-",表示未向用户名添加前缀。若要在认证配置中实现相同行为,请设置 username.prefix=""。(2) --oidc-username-prefix="" 且 --oidc-username-claim != "email",前缀为 "<--oidc-issuer-url 的值>#"。若要在认证配置中实现相同行为,请设置 username.prefix="#"。(3) --oidc-username-prefix=""。若要在认证配置中实现相同行为,请设置 username.prefix=""。 |
groupsPrefixedClaimOrExpression | groups 代表组属性的选项。该声明的值必须是字符串或字符串数组声明。如果设置了 groups.claim,则必须指定前缀(可以是空字符串)。如果设置了 groups.expression,则表达式必须产生字符串或字符串数组值。""、[] 和 null 值被视为组映射不存在。 |
uidClaimOrExpression | uid 代表 uid 属性的选项。声明必须是单字符串声明。如果设置了 uid.expression,则表达式必须产生一个字符串值。 |
extra[]ExtraMapping | extra 代表额外属性的选项。表达式必须产生字符串或字符串数组值。如果值为空,则额外映射将不存在。 硬编码的额外键/值
硬编码的键,复制声明值的 value
硬编码的键,从声明值派生的 value
|
ClaimOrExpression出现于
ClaimOrExpression 提供单个声明或表达式的配置。
| 字段 | 描述 |
|---|---|
claim字符串 | claim 是要使用的 JWT 声明。必须设置 claim 或 expression 其中之一。与 expression 互斥。 |
expression字符串 | expression 代表将由 CEL 计算的表达式。 CEL 表达式可以访问令牌声明的内容,这些内容被组织在 CEL 变量中
CEL 文档:https://kubernetes.ac.cn/docs/reference/using-api/cel/ 与 claim 互斥。 |
ClaimValidationRule出现于
ClaimValidationRule 提供单个声明验证规则的配置。
| 字段 | 描述 |
|---|---|
claim字符串 | claim 是所需声明的名称。与 --oidc-required-claim 标志相同。仅支持字符串声明键。与 expression 和 message 互斥。 |
requiredValue字符串 | requiredValue 是所需声明的值。与 --oidc-required-claim 标志相同。仅支持字符串声明值。如果设置了 claim 但未设置 requiredValue,则该声明必须存在且值必须为空字符串。与 expression 和 message 互斥。 |
expression字符串 | expression 代表将由 CEL 计算的表达式。必须产生一个布尔值。 CEL 表达式可以访问令牌声明的内容,这些内容被组织在 CEL 变量中
CEL 文档:https://kubernetes.ac.cn/docs/reference/using-api/cel/ 与 claim 和 requiredValue 互斥。 |
message字符串 | message 自定义当 expression 返回 false 时返回的错误消息。message 是一个字面字符串。与 claim 和 requiredValue 互斥。 |
Connection出现于
Connection 提供单个出口选择器客户端的配置。
| 字段 | 描述 |
|---|---|
proxyProtocol [必需]ProtocolType | Protocol 是从客户端连接到 konnectivity 服务器时使用的协议。 |
transportTransport | Transport 定义了我们用来拨号连接 konnectivity 服务器的传输配置。如果 ProxyProtocol 为 HTTPConnect 或 GRPC,则此项必需。 |
EgressSelection出现于
EgressSelection 提供单个出口选择器客户端的配置。
| 字段 | 描述 |
|---|---|
name [必需]字符串 | name 是出口选择器的名称。当前支持的值有 "controlplane"、"master"、"etcd" 和 "cluster"。 "master" 出口选择器已弃用,建议改用 "controlplane"。 |
connection [必需]Connection | connection 是用于配置出口选择的确切信息 |
EgressSelectorType(string 的别名)
出现于
EgressSelectorType 是一个指标,用于指示发送流量时应使用哪个出口选择。
ExtraMapping出现于
ExtraMapping 提供单个额外映射的配置。
| 字段 | 描述 |
|---|---|
key [必需]字符串 | key 是用作额外属性键的字符串。key 必须是域名前缀路径(例如 example.org/foo)。第一个 "/" 之前的所有字符必须是 RFC 1123 定义的有效子域名。第一个 "/" 之后的所有字符必须是 RFC 3986 定义的有效 HTTP 路径字符。key 必须是小写。要求唯一。 |
valueExpression [必需]字符串 | valueExpression 是一个用于提取额外属性值的 CEL 表达式。valueExpression 必须产生一个字符串或字符串数组值。""、[] 和 null 值被视为额外映射不存在。字符串数组中包含的空字符串值将被过滤掉。 CEL 表达式可以访问令牌声明的内容,这些内容被组织在 CEL 变量中
CEL 文档:https://kubernetes.ac.cn/docs/reference/using-api/cel/ |
Issuer出现于
Issuer 提供外部提供商特定设置的配置。
| 字段 | 描述 |
|---|---|
url [必需]字符串 | url 指向颁发者 URL,格式为 https://url 或 https://url/path。这必须与提供的 JWT 中的 "iss" 声明相匹配,并与发现机制返回的颁发者匹配。与 --oidc-issuer-url 标志的值相同。除非被 discoveryURL 覆盖,否则将从 "{url}/.well-known/openid-configuration" 获取发现信息。要求在所有 JWT 认证器中唯一。注意,出口选择配置不用于此网络连接。 |
discoveryURL字符串 | discoveryURL(如果指定)将覆盖用于获取发现信息的 URL,而不是使用 "{url}/.well-known/openid-configuration"。系统将使用指定的确切值,因此如果需要,必须在 discoveryURL 中包含 "/.well-known/openid-configuration"。 所获取发现信息中的 "issuer" 字段必须与 AuthenticationConfiguration 中的 "issuer.url" 字段匹配,并将用于验证所提供 JWT 中的 "iss" 声明。这适用于众所周知(well-known)端点和 jwks 端点托管在与颁发者不同位置(例如集群本地)的场景。 示例:使用命名空间 'oidc-namespace' 中的 kubernetes 服务 'oidc' 暴露的发现 URL,且发现信息在 '/.well-known/openid-configuration' 处可用。 discoveryURL: "https://oidc.oidc-namespace/.well-known/openid-configuration" certificateAuthority 用于验证 TLS 连接,叶证书上的主机名必须设置为 'oidc.oidc-namespace'。 curl https://oidc.oidc-namespace/.well-known/openid-configuration (.discoveryURL 字段) { issuer: "https://oidc.example.com" (.url 字段) } discoveryURL 必须与 url 不同。要求在所有 JWT 认证器中唯一。注意,出口选择配置不用于此网络连接。 |
certificateAuthority字符串 | certificateAuthority 包含 PEM 编码的证书颁发机构证书,用于在获取发现信息时验证连接。如果未设置,则使用系统验证器。与 --oidc-ca-file 标志所引用文件内容相同。 |
audiences [必需][]string | audiences 是 JWT 必须颁发给的一组可接受受众。至少一个条目必须与所提供 JWT 中的 "aud" 声明匹配。与 --oidc-client-id 标志的值相同(尽管此字段支持数组)。要求非空。 |
audienceMatchPolicyAudienceMatchPolicyType | audienceMatchPolicy 定义了 "audiences" 字段如何用于匹配所提供 JWT 中的 "aud" 声明。允许的值为
对于更细致的受众验证,请使用 claimValidationRules。示例:claimValidationRule[].expression: 'sets.equivalent(claims.aud, ["bar", "foo", "baz"])' 以要求精确匹配。 |
egressSelectorTypeEgressSelectorType | egressSelectorType 是一个指标,用于指示发送与此颁发者相关的所有流量(发现、JWKS、分布式声明等)时应使用哪个出口选择。如果未指定,则不使用自定义拨号器。指定时,有效选择为 "controlplane" 和 "cluster"。这些对应于 --egress-selector-config-file 中的关联值。
|
JWTAuthenticator出现于
JWTAuthenticator 提供单个 JWT 认证器的配置。
| 字段 | 描述 |
|---|---|
issuer [必需]Issuer | issuer 包含基本的 OIDC 提供商连接选项。 |
claimValidationRules[]ClaimValidationRule | claimValidationRules 是用于验证令牌声明以认证用户的规则。 |
claimMappings [必需]ClaimMappings | claimMappings 将令牌声明指向被视为用户属性的映射。 |
userValidationRules[]UserValidationRule | userValidationRules 是在完成认证前应用于最终用户的规则。这些规则允许将不变量应用于传入身份,例如防止使用 Kubernetes 组件通常使用的 system: 前缀。验证规则在逻辑上进行“与”(AND)运算,所有规则必须返回 true 才能通过验证。 |
PrefixedClaimOrExpression出现于
PrefixedClaimOrExpression 提供单个带前缀声明或表达式的配置。
| 字段 | 描述 |
|---|---|
claim字符串 | claim 是要使用的 JWT 声明。与 expression 互斥。 |
prefix字符串 | prefix 是在声明值之前添加的内容,以防止与现有名称冲突。如果设置了 claim,则需要设置 prefix,它可以是空字符串。与 expression 互斥。 |
expression字符串 | expression 代表将由 CEL 计算的表达式。 CEL 表达式可以访问令牌声明的内容,这些内容被组织在 CEL 变量中
CEL 文档:https://kubernetes.ac.cn/docs/reference/using-api/cel/ 与 claim 和 prefix 互斥。 |
ProtocolType(string 的别名)
出现于
ProtocolType 是 Connection.ProtocolType 的一组有效值
TCPTransport出现于
TCPTransport 提供通过 TCP 连接到 konnectivity 服务器的信息
| 字段 | 描述 |
|---|---|
url [必需]字符串 | URL 是要连接的 konnectivity 服务器的位置。例如,可能是 "https://127.0.0.1:8131" |
tlsConfigTLSConfig | TLSConfig 是连接到 konnectivity 服务器时使用 TLS 所需的配置 |
TLSConfig出现于
TLSConfig 提供连接到 konnectivity 服务器的身份验证信息,仅与 TCPTransport 一起使用
| 字段 | 描述 |
|---|---|
caBundle字符串 | caBundle 是用于确定与 konnectivity 服务器信任关系的 CA 文件位置。如果 TCPTransport.URL 以 http:// 为前缀,则此项必须为空/不存在。如果 TCPTransport.URL 以 https:// 为前缀且此项不存在,则默认为系统信任根。 |
clientKey字符串 | clientKey 是用于与 konnectivity 服务器进行 mtls 握手的客户端密钥文件位置。如果 TCPTransport.URL 以 http:// 为前缀,则此项必须为空/不存在。如果 TCPTransport.URL 以 https:// 为前缀,则此项必须进行配置。 |
clientCert字符串 | clientCert 是用于与 konnectivity 服务器进行 mtls 握手的客户端证书文件位置。如果 TCPTransport.URL 以 http:// 为前缀,则此项必须为空/不存在。如果 TCPTransport.URL 以 https:// 为前缀,则此项必须进行配置。 |
Transport出现于
Transport 定义了我们用来拨号连接 konnectivity 服务器的传输配置
| 字段 | 描述 |
|---|---|
tcpTCPTransport | TCP 是用于通过 TCP 与 konnectivity 服务器通信的 TCP 配置。目前不支持通过 TCP 传输使用 GRPC 的 ProxyProtocol。需要至少设置 TCP 或 UDS 中的一项。 |
udsUDSTransport | UDS 是用于通过 UDS 与 konnectivity 服务器通信的 UDS 配置。需要至少设置 TCP 或 UDS 中的一项。 |
UDSTransport出现于
UDSTransport 提供通过 UDS 连接到 konnectivity 服务器的信息
| 字段 | 描述 |
|---|---|
udsName [必需]字符串 | UDSName 是连接到 konnectivity 服务器的 unix 域套接字名称。这不使用 unix:// 前缀。(例如:/etc/srv/kubernetes/konnectivity-server/konnectivity-server.socket) |
UserValidationRule出现于
UserValidationRule 提供单个用户信息验证规则的配置。
| 字段 | 描述 |
|---|---|
expression [必需]字符串 | expression 代表将由 CEL 计算的表达式。必须返回 true 才能通过验证。 CEL 表达式可以访问 UserInfo 的内容,这些内容被组织在 CEL 变量中
CEL 文档:https://kubernetes.ac.cn/docs/reference/using-api/cel/ |
message字符串 | message 自定义当规则返回 false 时返回的错误消息。message 是一个字面字符串。 |
WebhookConfiguration出现于
| 字段 | 描述 |
|---|---|
authorizedTTL [必需]meta/v1.Duration | 从 webhook 授权器缓存“授权”响应的持续时间。与设置 |
cacheAuthorizedRequestsbool | CacheAuthorizedRequests 指定是否应缓存已授权的请求。如果设置为 true,缓存决策的 TTL 可以通过 AuthorizedTTL 字段进行配置。默认值:true |
unauthorizedTTL [必需]meta/v1.Duration | 从 webhook 授权器缓存“未授权”响应的持续时间。与设置 |
cacheUnauthorizedRequestsbool | CacheUnauthorizedRequests 指定是否应缓存未授权的请求。如果设置为 true,缓存决策的 TTL 可以通过 UnauthorizedTTL 字段进行配置。默认值:true |
timeout [必需]meta/v1.Duration | webhook 请求的超时时间。允许的最大值为 30s。必需,没有默认值。 |
subjectAccessReviewVersion [必需]字符串 | 要发送到 webhook 并从中期望的 authorization.k8s.io SubjectAccessReview 的 API 版本。与设置 |
matchConditionSubjectAccessReviewVersion [必需]字符串 | MatchConditionSubjectAccessReviewVersion 指定 CEL 表达式针对其进行评估的 SubjectAccessReview 版本。有效值:v1。必需,没有默认值 |
failurePolicy [必需]字符串 | 控制当 webhook 请求无法完成或返回格式错误的响应或评估 matchConditions 时,授权决策。有效值
|
connectionInfo [必需]WebhookConnectionInfo | ConnectionInfo 定义了我们如何与 webhook 通信 |
matchConditions [必需][]WebhookMatchCondition | matchConditions 是一个条件列表,必须满足这些条件才能将请求发送到此 webhook。空的 matchConditions 列表将匹配所有请求。允许的最大 matchConditions 数量为 64 个。 确切的匹配逻辑是(按顺序)
|
WebhookConnectionInfo出现于
| 字段 | 描述 |
|---|---|
type [必需]字符串 | 控制 webhook 如何与服务器通信。有效值
|
kubeConfigFile [必需]字符串 | 连接信息的 KubeConfigFile 路径。如果 connectionInfo.Type 为 KubeConfig,则必需。 |
WebhookMatchCondition出现于
| 字段 | 描述 |
|---|---|
expression [必需]字符串 | expression 代表将由 CEL 计算的表达式。必须计算为 bool 类型。CEL 表达式可以访问 v1 版本中 SubjectAccessReview 的内容。如果 request 变量中由 subjectAccessReviewVersion 指定的版本为 v1beta1,则在计算 CEL 表达式之前,内容将被转换为 v1 版本。
CEL 文档:https://kubernetes.ac.cn/docs/reference/using-api/cel/ |
本页面是自动生成的。
如果您打算报告此页面的问题,请在您的问题描述中提及该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。