diff --git a/content/en/docs/concepts/cluster-administration/system-traces.md b/content/en/docs/concepts/cluster-administration/system-traces.md index 1f63b135887..114a90c32d0 100644 --- a/content/en/docs/concepts/cluster-administration/system-traces.md +++ b/content/en/docs/concepts/cluster-administration/system-traces.md @@ -57,6 +57,9 @@ kind: TracingConfiguration samplingRatePerMillion: 100 ``` +For more information about the `TracingConfiguration` struct, see +[API server config API (v1alpha1)](/docs/reference/config-api/apiserver-config.v1alpha1/#apiserver-k8s-io-v1alpha1-TracingConfiguration). + ## Stability Tracing instrumentation is still under active development, and may change in a variety of ways. This includes span names, attached attributes, instrumented endpoints, etc. Until this feature graduates to stable, there are no guarantees of backwards compatibility for tracing instrumentation. diff --git a/content/en/docs/reference/_index.md b/content/en/docs/reference/_index.md index ba9e93df109..3b5e02c3f96 100644 --- a/content/en/docs/reference/_index.md +++ b/content/en/docs/reference/_index.md @@ -71,6 +71,7 @@ configure kubernetes components or tools. Most of these APIs are not exposed by the API server in a RESTful way though they are essential for a user or an operator to use or manage a cluster. +* [kube-apiserver configuration (v1alpha1)](/docs/reference/config-api/apiserver-config.v1alpha1/) * [kubelet configuration (v1beta1)](/docs/reference/config-api/kubelet-config.v1beta1/) * [kube-scheduler configuration (v1beta1)](/docs/reference/config-api/kube-scheduler-config.v1beta1/) * [kube-scheduler configuration (v1beta2)](/docs/reference/config-api/kube-scheduler-config.v1beta2/) diff --git a/content/en/docs/reference/config-api/apiserver-config.v1alpha1.md b/content/en/docs/reference/config-api/apiserver-config.v1alpha1.md new file mode 100644 index 00000000000..81702355a59 --- /dev/null +++ b/content/en/docs/reference/config-api/apiserver-config.v1alpha1.md @@ -0,0 +1,438 @@ +--- +title: kube-apiserver Configuration (v1alpha1) +content_type: tool-reference +package: apiserver.k8s.io/v1alpha1 +auto_generated: true +--- +Package v1alpha1 is the v1alpha1 version of the API. + +## Resource Types + + +- [AdmissionConfiguration](#apiserver-k8s-io-v1alpha1-AdmissionConfiguration) +- [EgressSelectorConfiguration](#apiserver-k8s-io-v1alpha1-EgressSelectorConfiguration) +- [TracingConfiguration](#apiserver-k8s-io-v1alpha1-TracingConfiguration) + + + + +## `AdmissionConfiguration` {#apiserver-k8s-io-v1alpha1-AdmissionConfiguration} + + + + + +AdmissionConfiguration provides versioned configuration for admission controllers. + +
| Field | Description |
|---|---|
apiVersionstring | apiserver.k8s.io/v1alpha1 |
kindstring | AdmissionConfiguration |
plugins+ []AdmissionPluginConfiguration
+ |
++ Plugins allows specifying a configuration per admission control plugin. | +
| Field | Description |
|---|---|
apiVersionstring | apiserver.k8s.io/v1alpha1 |
kindstring | EgressSelectorConfiguration |
egressSelections [Required]+ []EgressSelection
+ |
++ connectionServices contains a list of egress selection client configurations | +
| Field | Description |
|---|---|
apiVersionstring | apiserver.k8s.io/v1alpha1 |
kindstring | TracingConfiguration |
endpoint+ string
+ |
++ Endpoint of the collector that's running on the control-plane node. +The APIServer uses the egressType ControlPlane when sending data to the collector. +The syntax is defined in https://github.com/grpc/grpc/blob/master/doc/naming.md. +Defaults to the otlpgrpc default, localhost:4317 +The connection is insecure, and does not support TLS. | +
samplingRatePerMillion+ int32
+ |
++ SamplingRatePerMillion is the number of samples to collect per million spans. +Defaults to 0. | +
| Field | Description |
|---|---|
name [Required]+ string
+ |
++ Name is the name of the admission controller. +It must match the registered admission plugin name. | +
path+ string
+ |
++ Path is the path to a configuration file that contains the plugin's +configuration | +
configuration+ k8s.io/apimachinery/pkg/runtime.Unknown
+ |
++ Configuration is an embedded configuration object to be used as the plugin's +configuration. If present, it will be used instead of the path to the configuration file. | +
| Field | Description |
|---|---|
proxyProtocol [Required]+ ProtocolType
+ |
++ Protocol is the protocol used to connect from client to the konnectivity server. | +
transport+ Transport
+ |
++ Transport defines the transport configurations we use to dial to the konnectivity server. +This is required if ProxyProtocol is HTTPConnect or GRPC. | +
| Field | Description |
|---|---|
name [Required]+ string
+ |
++ name is the name of the egress selection. +Currently supported values are "controlplane", "master", "etcd" and "cluster" +The "master" egress selector is deprecated in favor of "controlplane" | +
connection [Required]+ Connection
+ |
++ connection is the exact information used to configure the egress selection | +
| Field | Description |
|---|---|
url [Required]+ string
+ |
++ URL is the location of the konnectivity server to connect to. +As an example it might be "https://127.0.0.1:8131" | +
tlsConfig+ TLSConfig
+ |
++ TLSConfig is the config needed to use TLS when connecting to konnectivity server | +
| Field | Description |
|---|---|
caBundle+ string
+ |
++ caBundle is the file location of the CA to be used to determine trust with the konnectivity server. +Must be absent/empty if TCPTransport.URL is prefixed with http:// +If absent while TCPTransport.URL is prefixed with https://, default to system trust roots. | +
clientKey+ string
+ |
++ clientKey is the file location of the client key to be used in mtls handshakes with the konnectivity server. +Must be absent/empty if TCPTransport.URL is prefixed with http:// +Must be configured if TCPTransport.URL is prefixed with https:// | +
clientCert+ string
+ |
++ clientCert is the file location of the client certificate to be used in mtls handshakes with the konnectivity server. +Must be absent/empty if TCPTransport.URL is prefixed with http:// +Must be configured if TCPTransport.URL is prefixed with https:// | +
| Field | Description |
|---|---|
tcp+ TCPTransport
+ |
++ TCP is the TCP configuration for communicating with the konnectivity server via TCP +ProxyProtocol of GRPC is not supported with TCP transport at the moment +Requires at least one of TCP or UDS to be set | +
uds+ UDSTransport
+ |
++ UDS is the UDS configuration for communicating with the konnectivity server via UDS +Requires at least one of TCP or UDS to be set | +
| Field | Description |
|---|---|
udsName [Required]+ string
+ |
++ UDSName is the name of the unix domain socket to connect to konnectivity server +This does not use a unix:// prefix. (Eg: /etc/srv/kubernetes/konnectivity-server/konnectivity-server.socket) | +