Uninstall
Uninstall
osm
CLI.Download platform specific compressed package from the Releases page.
Unpack the osm
binary and add it to $PATH
to get started.
Building OSM from source requires more steps but is the best way to test the latest changes and useful in a development environment.
You must have a working Go environment.
$ git clone git@github.com:openservicemesh/osm.git
$ cd osm
$ make build-osm
make build-osm
will fetch any required dependencies, compile osm
and place it in bin/osm
. Add bin/osm
to $PATH
so you can easily use osm
.
By default, the control plane components are installed into a Kubernetes Namespace called osm-system
and the control plane is given a unique identifier attribute mesh-name
defaulted to osm
. Both the Namespace and mesh-name can be configured through flags when using the osm CLI
flags or by editing the values file when using the helm CLI
.
The mesh-name
is a unique identifier assigned to an osm-controller instance during install to identify and manage a mesh instance.
The mesh-name
should follow RFC 1123 DNS Label constraints. The mesh-name
must:
Use the osm
CLI to install the OSM control plane on to a Kubernetes cluster.
Run osm install
.
# Install osm control plane components
$ osm install
OSM installed successfully in namespace [osm-system] with mesh name [osm]
Run osm install --help
for more options.
The OSM chart can be installed directly via the Helm CLI.
You can configure the OSM installation by overriding the values file.
To see which values correspond to the MeshConfig settings, see the OSM MeshConfig documentation
For example, to set the logLevel
field in the MeshConfig to info
, save the following as override.yaml
:
OpenServiceMesh:
envoyLogLevel: info
Then run the following helm install
command. The chart version can be found in the Helm chart you wish to install here.
$ helm install <mesh name> osm --repo https://openservicemesh.github.io/osm --version <chart version> --namespace <osm namespace> --values override.yaml
Omit the --values
flag if you prefer to use the default settings.
Run helm install --help
for more options.
To install OSM on OpenShift:
osm install --set="OpenServiceMesh.enablePrivilegedInitContainer=true"
enablePrivilegedInitContainer
to true
in the OSM MeshConfig and restart any pods in the mesh.privileged
security context constraint to each service account in the mesh.
oc adm policy add-scc-to-user privileged -z <service account name> -n <service account namespace>
If you are running OSM in a cluster with PSPs enabled, pass in --set OpenServiceMesh.pspEnabled=true
to your osm install
or helm install
CLI command.
A few components will be installed by default into the osm-system
Namespace. Inspect them by using the following kubectl
command:
$ kubectl get pods,svc,secrets,meshconfigs,serviceaccount --namespace osm-system
A few cluster wide (non Namespaced components) will also be installed. Inspect them using the following kubectl
command:
kubectl get clusterrolebinding,clusterrole,mutatingwebhookconfiguration
Under the hood, osm
is using Helm libraries to create a Helm release
object in the control plane Namespace. The Helm release
name is the mesh-name. The helm
CLI can also be used to inspect Kubernetes manifests installed in more detail. Goto https://helm.sh for instructions to install Helm.
$ helm get manifest osm --namespace osm-system
Now that the OSM control plane is up and running, add services to the mesh.
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.