1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 21:46:22 +01:00
Files
openshift-docs/modules/ossm-cr-example.adoc

277 lines
9.1 KiB
Plaintext

// Module included in the following assemblies:
//
// * service_mesh/v2x/customizing-installation-ossm.adoc
:_mod-docs-content-type: REFERENCE
[id="ossm-cr-example_{context}"]
= {SMProductShortName} Control plane parameters
The following table lists the top-level parameters for the `ServiceMeshControlPlane` resource.
.`ServiceMeshControlPlane` resource parameters
|===
|Name |Description |Type
|`apiVersion`
|APIVersion defines the versioned schema of this representation of an object. Servers convert recognized schemas to the latest internal value, and may reject unrecognized values. The value for the `ServiceMeshControlPlane` version 2.0 is `maistra.io/v2`.
|The value for `ServiceMeshControlPlane` version 2.0 is `maistra.io/v2`.
|`kind`
|Kind is a string value that represents the REST resource this object represents.
|`ServiceMeshControlPlane` is the only valid value for a ServiceMeshControlPlane.
|`metadata`
|Metadata about this `ServiceMeshControlPlane` instance. You can provide a name for your {SMProductShortName} control plane installation to keep track of your work, for example, `basic`.
|string
|`spec`
|The specification of the desired state of this `ServiceMeshControlPlane`. This includes the configuration options for all components that comprise the {SMProductShortName} control plane.
|For more information, see Table 2.
|`status`
|The current status of this `ServiceMeshControlPlane` and the components that comprise the {SMProductShortName} control plane.
|For more information, see Table 3.
|===
The following table lists the specifications for the `ServiceMeshControlPlane` resource. Changing these parameters configures {SMProductName} components.
.`ServiceMeshControlPlane` resource spec
|===
|Name |Description |Configurable parameters
|`addons`
| The `addons` parameter configures additional features beyond core {SMProductShortName} control plane components, such as visualization, or metric storage.
|`3scale`, `grafana`, `jaeger`, `kiali`, and `prometheus`.
|`cluster`
|The `cluster` parameter sets the general configuration of the cluster (cluster name, network name, multi-cluster, mesh expansion, etc.)
|`meshExpansion`, `multiCluster`, `name`, and `network`
|`gateways`
| You use the `gateways` parameter to configure ingress and egress gateways for the mesh.
|`enabled`, `additionalEgress`, `additionalIngress`, `egress`, `ingress`, and `openshiftRoute`
|`general`
|The `general` parameter represents general {SMProductShortName} control plane configuration that does not fit anywhere else.
|`logging` and `validationMessages`
|`policy`
|You use the `policy` parameter to configure policy checking for the {SMProductShortName} control plane. Policy checking can be enabled by setting `spec.policy.enabled` to `true`.
|`mixer` `remote`, or `type`. `type` can be set to `Istiod`, `Mixer` or `None`.
|`profiles`
|You select the `ServiceMeshControlPlane` profile to use for default values using the `profiles` parameter.
|`default`
|`proxy`
| You use the `proxy` parameter to configure the default behavior for sidecars.
|`accessLogging`, `adminPort`, `concurrency`, and `envoyMetricsService`
|`runtime`
| You use the `runtime` parameter to configure the {SMProductShortName} control plane components.
|`components`, and `defaults`
|`security`
| The `security` parameter allows you to configure aspects of security for the {SMProductShortName} control plane.
|`certificateAuthority`, `controlPlane`, `identity`, `dataPlane` and `trust`
|`techPreview`
|The `techPreview` parameter enables early access to features that are in technology preview.
|N/A
|`telemetry`
|If `spec.mixer.telemetry.enabled` is set to `true`, telemetry is enabled.
|`mixer`, `remote`, and `type`. `type` can be set to `Istiod`, `Mixer` or `None`.
|`tracing`
|You use the `tracing` parameter to enables distributed tracing for the mesh.
|`sampling`, `type`. `type` can be set to `Jaeger` or `None`.
|`version`
|You use the `version` parameter to specify what Maistra version of the {SMProductShortName} control plane to install. When creating a `ServiceMeshControlPlane` with an empty version, the admission webhook sets the version to the current version. New `ServiceMeshControlPlanes` with an empty version are set to `v2.0`. Existing `ServiceMeshControlPlanes` with an empty version keep their setting.
|string
|===
`ControlPlaneStatus` represents the current state of your service mesh.
.`ServiceMeshControlPlane` resource `ControlPlaneStatus`
|===
|Name |Description |Type
|`annotations`
|The `annotations` parameter stores additional, usually redundant status information, such as the number of components deployed by the `ServiceMeshControlPlane`. These statuses are used by the command-line tool, `oc`, which does not yet allow counting objects in JSONPath expressions.
|Not configurable
|`conditions`
|Represents the latest available observations of the object's current state. `Reconciled` indicates whether the operator has finished reconciling the actual state of deployed components with the configuration in the `ServiceMeshControlPlane` resource. `Installed` indicates whether the {SMProductShortName} control plane has been installed. `Ready` indicates whether all {SMProductShortName} control plane components are ready.
|string
|`components`
|Shows the status of each deployed {SMProductShortName} control plane component.
|string
|`appliedSpec`
|The resulting specification of the configuration options after all profiles have been applied.
|`ControlPlaneSpec`
|`appliedValues`
|The resulting values.yaml used to generate the charts.
|`ControlPlaneSpec`
|`chartVersion`
|The version of the charts that were last processed for this resource.
|string
|`observedGeneration`
|The generation observed by the controller during the most recent reconciliation. The information in the status pertains to this particular generation of the object. The `status.conditions` are not up-to-date if the `status.observedGeneration` field does not match `metadata.generation`.
|integer
|`operatorVersion`
|The version of the operator that last processed this resource.
|string
|`readiness`
|The readiness status of components & owned resources.
|string
|===
This example `ServiceMeshControlPlane` definition contains all of the supported parameters.
.Example `ServiceMeshControlPlane` resource
[source,yaml, subs="attributes,verbatim"]
----
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: basic
spec:
version: v{MaistraVersion}
proxy:
runtime:
container:
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 128Mi
tracing:
type: Jaeger
gateways:
ingress: # istio-ingressgateway
service:
type: ClusterIP
ports:
- name: status-port
port: 15020
- name: http2
port: 80
targetPort: 8080
- name: https
port: 443
targetPort: 8443
meshExpansionPorts: []
egress: # istio-egressgateway
service:
type: ClusterIP
ports:
- name: status-port
port: 15020
- name: http2
port: 80
targetPort: 8080
- name: https
port: 443
targetPort: 8443
additionalIngress:
some-other-ingress-gateway: {}
additionalEgress:
some-other-egress-gateway: {}
policy:
type: Mixer
mixer: # only applies if policy.type: Mixer
enableChecks: true
failOpen: false
telemetry:
type: Istiod # or Mixer
mixer: # only applies if telemetry.type: Mixer, for v1 telemetry
sessionAffinity: false
batching:
maxEntries: 100
maxTime: 1s
adapters:
kubernetesenv: true
stdio:
enabled: true
outputAsJSON: true
addons:
grafana:
enabled: true
install:
config:
env: {}
envSecrets: {}
persistence:
enabled: true
storageClassName: ""
accessMode: ReadWriteOnce
capacity:
requests:
storage: 5Gi
service:
ingress:
contextPath: /grafana
tls:
termination: reencrypt
kiali:
name: kiali
enabled: true
install: # install kiali CR if not present
dashboard:
viewOnly: false
enableGrafana: true
enableTracing: true
enablePrometheus: true
service:
ingress:
contextPath: /kiali
jaeger:
name: jaeger
install:
storage:
type: Elasticsearch # or Memory
memory:
maxTraces: 100000
elasticsearch:
nodeCount: 3
storage: {}
redundancyPolicy: SingleRedundancy
indexCleaner: {}
ingress: {} # jaeger ingress configuration
runtime:
components:
pilot:
deployment:
replicas: 2
pod:
affinity: {}
container:
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 128Mi
grafana:
deployment: {}
pod: {}
kiali:
deployment: {}
pod: {}
----