Rosetta Stone ************* Clusterwares ============ +------------------------------------+------------------------------+-------------------------------+ | OpenSVC | Veritas Cluster Server (VCS) | PowerHA (HACMP) | +====================================+==============================+===============================+ | om daemon start | hastart | clstart | +------------------------------------+------------------------------+-------------------------------+ | om daemon stop | hastop | clstop | +------------------------------------+------------------------------+-------------------------------+ | om mon | hastatus | clstat | +------------------------------------+------------------------------+-------------------------------+ | om daemon join | hasys -add | | +------------------------------------+------------------------------+-------------------------------+ | om daemon leave | hasys -delete | | +------------------------------------+------------------------------+-------------------------------+ | om node freeze | hasys -freeze | | +------------------------------------+------------------------------+-------------------------------+ | om node thaw | hasys -unfreeze | | +------------------------------------+------------------------------+-------------------------------+ | om create | hagrp -add | | +------------------------------------+------------------------------+-------------------------------+ | om delete | hagrp -delete | | +------------------------------------+------------------------------+-------------------------------+ | om '*' ls | hagrp -list | cllsgrp | +------------------------------------+------------------------------+-------------------------------+ | om start | hagrp -online | clRGmove -g -n -u | +------------------------------------+------------------------------+-------------------------------+ | om stop | hagrp -offline | clRGmove -g -n -d | +------------------------------------+------------------------------+-------------------------------+ | om switch --to | hagrp -switch | clRGmove -s -n -m | +------------------------------------+------------------------------+-------------------------------+ | om freeze | hagrp -freeze | | +------------------------------------+------------------------------+-------------------------------+ | om thaw | hagrp -unfreeze | | +------------------------------------+------------------------------+-------------------------------+ | om start --rid | hares -online | | +------------------------------------+------------------------------+-------------------------------+ | om stop --rid | hares -offline | | +------------------------------------+------------------------------+-------------------------------+ Orchestators ============ +------------------------------------------------------+---------------------------------------------------+ | OpenSVC | Kubernetes | +======================================================+===================================================+ | **Creating Objects** | +------------------------------------------------------+---------------------------------------------------+ | om create --config ./my-manifest.json | kubectl create -f ./my-manifest.yaml | +------------------------------------------------------+---------------------------------------------------+ | cat | om create | cat | kubectl create -f - | +------------------------------------------------------+---------------------------------------------------+ | om ns1/sec/mysec create --from /etc/group | kubectl create -f secret.yml | +------------------------------------------------------+---------------------------------------------------+ | **Viewing and Finding** | +------------------------------------------------------+---------------------------------------------------+ | om '*' ls | kubectl get services | | | kubectl get pods | +------------------------------------------------------+---------------------------------------------------+ | om container.type=docker ls | kubectl get pods -o jsonpath=... | +------------------------------------------------------+---------------------------------------------------+ | om print config --format json | kubectl describe svc | +------------------------------------------------------+---------------------------------------------------+ | **Updating** | +------------------------------------------------------+---------------------------------------------------+ | om set --kw ip#0.expose=80:8080/tcp | kubectl expose rc nginx --port=80 | | | --target-port=8000 | +------------------------------------------------------+---------------------------------------------------+ | om set --kw | kubectl annotate pods my-pod | | env.icon_url=http://goo.gl/XXBTWq | icon-url=http://goo.gl/XXBTWq | +------------------------------------------------------+---------------------------------------------------+ | om get container#0.run_image | | kubectl get pod mypod -o yaml | | sed 's/\(.*\):.*$/\1:v4/' | | sed 's/\(image: myimage\):.*$/\1:v4/' | | xargs om set --kw container#0.run_image | kubectl replace -f - | +------------------------------------------------------+---------------------------------------------------+ | om edit | kubectl edit svc/docker-registry | +------------------------------------------------------+---------------------------------------------------+ | **Scaling** | +------------------------------------------------------+---------------------------------------------------+ | om foo scale --to 3 | kubectl scale --replicas=3 rs/foo | +------------------------------------------------------+---------------------------------------------------+ | om foo,bar scale --to 3 | kubectl scale --replicas=3 rs/foo rs/bar | +------------------------------------------------------+---------------------------------------------------+ | **Deleting** | +------------------------------------------------------+---------------------------------------------------+ | om foo,baz purge | kubectl delete pod,service baz foo --all | +------------------------------------------------------+---------------------------------------------------+ | om env.name=myLabel delete --unprovision | kubectl delete pods,services -l name=myLabel | +------------------------------------------------------+---------------------------------------------------+ | **Interacting with Resources** | +------------------------------------------------------+---------------------------------------------------+ | om foo logs | kubectl logs my-pod | | om foo logs --local | | +------------------------------------------------------+---------------------------------------------------+ | om foo -f logs | kubectl logs -f my-pod | +------------------------------------------------------+---------------------------------------------------+ | om foo docker run -it busybox sh | kubectl run -i --tty busybox --image=busybox -- | | | sh | +------------------------------------------------------+---------------------------------------------------+ | om foo docker attach -i {container#1} | kubectl attach my-pod -i | +------------------------------------------------------+---------------------------------------------------+ | om foo docker exec {container#1} ls / | kubectl exec my-pod -c my-container -- ls / | +------------------------------------------------------+---------------------------------------------------+ | **Interacting with Nodes and Cluster** | +------------------------------------------------------+---------------------------------------------------+ | om node freeze --local | kubectl cordon my-node | | om node freeze --node my-node | | +------------------------------------------------------+---------------------------------------------------+ | om '**' stop --node my-node | kubectl drain my-node | +------------------------------------------------------+---------------------------------------------------+ | om '**' thaw --node my-node | kubectl uncordon my-node | +------------------------------------------------------+---------------------------------------------------+ | om daemon status --format json | kubectl cluster-info dump | +------------------------------------------------------+---------------------------------------------------+ | om node set --kw env.dedicated=special_user | kubectl taint nodes foo | | # plus constraints or node selector in services | dedicated=special-user:NoSchedule | +------------------------------------------------------+---------------------------------------------------+