Kubectl Plugin
Kruise-tools provides commandline tools for kruise features, such as kubectl-kruise
, which is a standard plugin of kubectl
.
Install
You can simply download the binary from the releases page. Currently
linux
,darwin
(OS X),windows
withx86_64
andarm64
are provided. If you are using some other systems or architectures, you have to download the source code and executemake build
to build the binary.Extract and move it to system PATH.
$ tar xvf kubectl-kruise-darwin-amd64.tar.gz
$ mv darwin-amd64/kubectl-kruise /usr/local/bin/
- Then you can use it with
kubectl-kruise
orkubectl kruise
.
$ kubectl-kruise --help
# or
$ kubectl kruise --help
Usage
expose
Take a workload(e.g. deployment, cloneset), service or pod and expose it as a new Kubernetes Service.
$ kubectl kruise expose cloneset nginx --port=80 --target-port=8000
scale
Set a new size for a Deployment, ReplicaSet, CloneSet, or Advanced StatefulSet.
$ kubectl kruise scale --replicas=3 cloneset nginx
It equals to kubectl scale --replicas=3 cloneset nginx
.
rollout
Available commands: history
, pause
, restart
, resume
, status
, undo
.
$ kubectl kruise rollout undo cloneset/nginx
# built-in statefulsets
$ kubectl kruise rollout status statefulsets/sts1
# kruise statefulsets
$ kubectl kruise rollout status statefulsets.apps.kruise.io/sts2
set
Available commands: env
, image
, resources
, selector
, serviceaccount
, subject
.
$ kubectl kruise set env cloneset/nginx STORAGE_DIR=/local
$ kubectl kruise set image cloneset/nginx busybox=busybox nginx=nginx:1.9.1
migrate
Currently it supports migrate from Deployment to CloneSet.
# Create an empty CloneSet from an existing Deployment.
$ kubectl kruise migrate CloneSet --from Deployment -n default --dst-name deployment-name --create
# Create a same replicas CloneSet from an existing Deployment.
$ kubectl kruise migrate CloneSet --from Deployment -n default --dst-name deployment-name --create --copy
# Migrate replicas from an existing Deployment to an existing CloneSet.
$ kubectl-kruise migrate CloneSet --from Deployment -n default --src-name cloneset-name --dst-name deployment-name --replicas 10 --max-surge=2
scaledown
Scaledown a cloneset with selective Pods.
# Scale down 2 with selective pods
$ kubectl kruise scaledown cloneset/nginx --pods pod-a,pod-b
It will decrease replicas=replicas-2 of this cloneset and delete the specified pods.