CVManager can be deployed using:
- Kubectl: yaml specs for Kubenetes configuration is here
- Helm: Helm chart spec is here and helm package is avaialble here
ContainerVersion is essentially a custom kubernetes resource definition (CRD) which is controller by the CVManager (a k8s controller). The spec of ContainerVersion is specified here.
An example of CV resource is:
apiVersion: custom.k8s.io/v1
kind: ContainerVersion
metadata:
name: photos-cv
spec:
imageRepo: nearmap/photos
tag: dev
checkFrequency: 5
container: photosapp-container
selector:
cvapp: photocv
And an example creation of CV resource is:
cat <<EOF | kubectl create -f -
apiVersion: custom.k8s.io/v1
kind: ContainerVersion
metadata:
name: photos-cv
spec:
imageRepo: nearmap/photos
tag: dev
checkFrequency: 5
container: photosapp-container
selector:
cvapp: photocv
EOF
When ContainerVersion CRD is defined using (or with helm):
kubectl apply -f kubectl/cv-crd.yaml
and are avaialble on API server at following interface: http://localhost:8001/apis/custom.k8s.io/v1/containerversions/ http://localhost:8001/apis/custom.k8s.io/v1/namespaces/photos/containerversions
and using kubectl:
kubectl get cv --all-namespaces