SchemaHero has 2 different components: an in-cluster Kubernetes Operator and a client side kubectl plugin that you can use to interact with the operator. The best way to get started, is to install the kubectl plugin:
The SchemaHero client-side component is a kubectl plugin that's packaged and delivered using Krew, the package manager for kubectl plugins.
curl https://krew.sh/schemahero | bash
Once you have the krew package manager installed, you can install the SchemaHero plugin:
kubectl krew install schemahero
SchemaHero relies on an in-cluster operator. The next step in the installation is to operator components:
It's easy to install the operator using the built-in command:
kubectl schemahero install
The above command will create a
schemahero-system namespace, and install 2 new Custom Resource Definitions to your cluster.
An alternative approach is to let the kubectl plugin generate the YAML that can be checked in, commited and deployed using another tool:
kubectl schemahero install --yaml
This will create the necessary YAML to install the in-cluster SchemaHero operator. After inspection, you can use
apply this YAML to you cluster.
To verify the deployment, you can run:
kubectl get pods -n schemahero-system
There should be 1 pod running in this namespace:
$ kubectl get pods -n schemahero-system NAME READY STATUS RESTARTS AGE schemahero-0 1/1 Running 0 66s