Back to Meshery

meshery

install/kubernetes/helm/meshery/README.md

1.0.2824.8 KB
Original Source

meshery

Meshery chart for deploying Meshery

Maintainers

NameEmailUrl
Meshery Authors[email protected]

Values

KeyTypeDefaultDescription
affinityobject{}
annotationsobject{}
env.ADAPTER_URLSstring"meshery-istio:10000 meshery-linkerd:10001 meshery-consul:10002 meshery-kuma:10007 meshery-nginx-sm:10010 meshery-nsm:10004 meshery-app-mesh:10005 meshery-traefik-mesh:10006 meshery-cilium:10012"Optionally, pre-configure Meshery Server with the set of Meshery Adapters used in the deployment.
env.EVENTstring"mesheryLocal"
env.PROVIDERstring"Local"Use this security-related setting to enforce selection of one and only one Provider. In this way, your Meshery deployment will only trust and only allow users to authenticate using the Provider you have configured in this setting. See the Remote Provider documentation for a description of what a Provider is.
env.MESHERY_SERVER_CALLBACK_URLstring""Configure an OAuth callback URL for Meshery Server to use when signing into a Remote Provider and your Meshery Server instance is not directly reachable by that Remote Provider. See the Remote Provider documentation for more details.
env.MESHSYNC_DEFAULT_DEPLOYMENT_MODEstring"operator"Configure the deployment mode for Meshsync. Possible values are embedded (runs as a library inside Meshery Server process, one routine per connected Kubernetes cluster) and operator (deployed in managed k8s cluster, managed by Meshery Operator, one deployment per connected Kubernetes cluster). See the Meshsync deployment documentation for more details.
env.PROVIDER_BASE_URLSstring"https://cloud.meshery.io,https://cloud.layer5.io"Comma-separated list of Remote Provider URLs to register on this Meshery server. The first reachable provider is treated as the default. See the Remote Provider documentation for a description of what a Provider is.
fullnameOverridestring""
image.pullPolicystring"Always"
image.repositorystring"meshery/meshery"
image.tagstring"stable-latest"
imagePullSecretslist[]
ingress.annotationsobject{}
ingress.enabledboolfalse
ingress.hosts[0].hoststring"chart-example.local"
ingress.hosts[0].pathslist[]
ingress.tlslist[]
meshery-app-mesh.enabledboolfalseEnable to deploy this Meshery Adapter upon initial deployment. Meshery Adapters can be deployed post-installation using either Meshery CLI or UI.
meshery-app-mesh.fullnameOverridestring"meshery-app-mesh"
meshery-app-mesh.serviceAccountNameOverridestring"meshery-server"
meshery-cilium.enabledboolfalseEnable to deploy this Meshery Adapter upon initial deployment. Meshery Adapters can be deployed post-installation using either Meshery CLI or UI.
meshery-cilium.fullnameOverridestring"meshery-cilium"
meshery-consul.enabledboolfalseEnable to deploy this Meshery Adapter upon initial deployment. Meshery Adapters can be deployed post-installation using either Meshery CLI or UI.
meshery-consul.fullnameOverridestring"meshery-consul"
meshery-consul.serviceAccountNameOverridestring"meshery-server"
meshery-istio.enabledboolfalseEnable to deploy this Meshery Adapter upon initial deployment. Meshery Adapters can be deployed post-installation using either Meshery CLI or UI.
meshery-istio.fullnameOverridestring"meshery-istio"
meshery-istio.serviceAccountNameOverridestring"meshery-server"
meshery-kuma.enabledboolfalseEnable to deploy this Meshery Adapter upon initial deployment. Meshery Adapters can be deployed post-installation using either Meshery CLI or UI.
meshery-kuma.fullnameOverridestring"meshery-kuma"
meshery-kuma.serviceAccountNameOverridestring"meshery-server"
meshery-linkerd.enabledboolfalseEnable to deploy this Meshery Adapter upon initial deployment. Meshery Adapters can be deployed post-installation using either Meshery CLI or UI.
meshery-linkerd.fullnameOverridestring"meshery-linkerd"
meshery-linkerd.serviceAccountNameOverridestring"meshery-server"
meshery-nginx-sm.enabledboolfalseEnable to deploy this Meshery Adapter upon initial deployment. Meshery Adapters can be deployed post-installation using either Meshery CLI or UI.
meshery-nginx-sm.fullnameOverridestring"meshery-nginx-sm"
meshery-nginx-sm.serviceAccountNameOverridestring"meshery-server"
meshery-nsm.enabledboolfalseEnable to deploy this Meshery Adapter upon initial deployment. Meshery Adapters can be deployed post-installation using either Meshery CLI or UI.
meshery-nsm.fullnameOverridestring"meshery-nsm"
meshery-nsm.serviceAccountNameOverridestring"meshery-server"
meshery-operator.enabledbooltrueEnable to deploy this Meshery Operator upon initial deploymeent. Meshery Operator can be deployed post-installation using Meshery UI.
meshery-operator.fullnameOverridestring"meshery-operator"
meshery-osm.enabledboolfalseOSM is an archived project.
meshery-osm.fullnameOverridestring"meshery-osm"
meshery-osm.serviceAccountNameOverridestring"meshery-server"
meshery-traefik-mesh.enabledboolfalseEnable to deploy this Meshery Adapter upon initial deployment. Meshery Adapters can be deployed post-installation using either Meshery CLI or UI.
meshery-traefik-mesh.fullnameOverridestring"meshery-traefik-mesh"
meshery-traefik-mesh.serviceAccountNameOverridestring"meshery-server"
mesherygateway.enabledboolfalse
mesherygateway.selector.istiostring"ingressgateway"
metadata.namestring"meshery"
metadata.namespacestring"meshery"
nameOverridestring""
nodeSelectorobject{}
podSecurityContextobject{}
probe.livenessProbe.enabledboolfalse
probe.readinessProbe.enabledboolfalse
rbac.nodesboolfalse
replicaCountint1
resourcesobject{}
restartPolicystring"Always"
securityContextobject{}
service.annotationsobject{}
service.portint9081
service.target_portint8080
service.typestring"LoadBalancer"
serviceAccount.namestring"meshery-server"
testCase.enabledboolfalse
tolerationslist[]

Setup Repo Info

console
helm repo add meshery https://meshery.io/charts/
helm repo update

See helm repo for command documentation.

Installing the Chart

To install the chart with the release name meshery:

console
helm install meshery meshery/meshery --namespace meshery --create-namespace

Upgrading the Chart

To upgrade an existing meshery deployment:

console
# Upgrade with recommended settings for upgrades
helm upgrade meshery meshery/meshery --namespace meshery -f values-upgrade.yaml --wait --timeout 10m

# Or upgrade with default settings
helm upgrade meshery meshery/meshery --namespace meshery

See HEALTHCHECKS.md for detailed information about health check configuration during upgrades.

Uninstalling the Chart

To uninstall meshery helm release:

console
helm uninstall meshery --namespace meshery

Installing the Chart with one or more Meshery Adapters

Eg: For Meshery Adapter for Istio

console
helm install meshery meshery/meshery --set meshery-istio.enabled=true --namespace meshery --create-namespace

Health Checks and Probes

Meshery implements Kubernetes-compliant health check endpoints for liveness and readiness probes:

  • Liveness Probe: /healthz/live - Checks if Meshery server is alive and responsive
  • Readiness Probe: /healthz/ready - Checks if Meshery is ready to accept traffic (includes capability validation)

Default Probe Configuration

The chart includes pre-configured health checks with sensible defaults:

yaml
probe:
  livenessProbe:
    enabled: true
    initialDelaySeconds: 80
    periodSeconds: 12
    failureThreshold: 4

  readinessProbe:
    enabled: true
    initialDelaySeconds: 10
    periodSeconds: 4
    failureThreshold: 4

Monitoring Health Status

Check detailed health status with verbose output:

console
kubectl exec --namespace meshery deployment/meshery -- curl -s "http://localhost:8080/healthz/ready?verbose=1"

Example output:

[+]capabilities ok
[i]extension extension package found
healthz check passed

Customizing Probes

For specific deployment scenarios, you can customize probe settings in your values.yaml:

yaml
probe:
  # Enable startup probe for slow-starting containers (Kubernetes 1.18+)
  startupProbe:
    enabled: true
    periodSeconds: 10
    failureThreshold: 30  # Allow up to 5 minutes for startup

  livenessProbe:
    enabled: true
    initialDelaySeconds: 120  # Adjust based on your environment
    periodSeconds: 15
    failureThreshold: 5

  readinessProbe:
    enabled: true
    initialDelaySeconds: 20
    periodSeconds: 5
    failureThreshold: 4

Documentation

For comprehensive guidance on health check configuration, including:

  • Installation vs upgrade considerations
  • Troubleshooting common issues
  • Advanced configuration options
  • Best practices

See the detailed HEALTHCHECKS.md documentation.

Additional Resources