cliapp is a framework which provides a capability of executing a CLI program in a k8s cluster via a local shortcut, especially for minikube clusters running on hypervisor.
That is, considering a single node minikube cluster, by installing a cliapp named ctr
,
we can run command ctr on the Host to check status of containerd on the single cluster node.
We can also export the cliapp list and import them to another cluster w/ CliApp installed.
Currently, cliapp only supports containerd as the container runtime.
We also build a kubectl plugin kubectl-dev to support cliapp management.
A cliapp object looks like below.
Execute kubectl get cliapp --all-namespaces
could retrieve all installed cliapps.
apiVersion: core.cliapp.warm-metal.tech/v1
kind: CliApp
metadata:
creationTimestamp: "2021-03-14T14:23:32Z"
generation: 2
managedFields:
- apiVersion: core.cliapp.warm-metal.tech/v1
fieldsType: FieldsV1
fieldsV1:
f:spec:
.: {}
f:command: {}
f:env: {}
f:hostpath: {}
f:image: {}
manager: kubectl-dev
operation: Update
time: "2021-03-14T14:23:32Z"
- apiVersion: core.cliapp.warm-metal.tech/v1
fieldsType: FieldsV1
fieldsV1:
f:status:
.: {}
f:lastPhaseTransition: {}
f:phase: {}
f:podName: {}
manager: manager
operation: Update
time: "2021-03-14T14:23:32Z"
- apiVersion: core.cliapp.warm-metal.tech/v1
fieldsType: FieldsV1
fieldsV1:
f:spec:
f:targetPhase: {}
manager: session-gate
operation: Update
time: "2021-03-14T14:23:35Z"
name: crictl
namespace: default
resourceVersion: "404083"
uid: 5fb3d41b-59ad-44a8-bceb-c76638e7ff5d
spec:
command:
- crictl
env:
- CONTAINER_RUNTIME_ENDPOINT=unix:///var/run/containerd/containerd.sock
- http_proxy=http://192.168.64.1:1087
- HTTP_PROXY=http://192.168.64.1:1087
- https_proxy=http://192.168.64.1:1087
- HTTPS_PROXY=http://192.168.64.1:1087
- no_proxy=localhost,127.0.0.1,10.0.0.0/8,192.168.0.0/16,172.16.0.0/12
- NO_PROXY=localhost,127.0.0.1,10.0.0.0/8,192.168.0.0/16,172.16.0.0/12
hostpath:
- /var/run/containerd/containerd.sock
image: docker.io/warmmetal/app-crictl:v0.1.0
targetPhase: Rest
status:
lastPhaseTransition: "2021-03-14T14:33:35Z"
phase: ShuttingDown
podName: crictl-88hgl