kubectl是k8s用来管理集群资源的管理工具,通过kubectl命令,可以对集群资源进行管理,对应用进行升级,对服务进行回滚,并提供pod的水平自动伸缩能力。可以说kubectl是k8s上的控制台。
kubectl的配置(linux下)
下载最新版本的命令:
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
下载完成之后,kubectl在当前目录下会是一个二进制文件,需要对这个文件添加执行权限:
chmod +x ./kubectl
然后将该二进制文件移动到系统PATH中,然后就可以直接使用kbectl命令集了:
mv ./kubectl /usr/local/bin/kubectl
举个栗子:
第四篇推文中我们其实就是用过该工具,通过kubectl create创建了pod,kubectl除了提供这些对资源的增删改查的能力外,还提供了集群级别的资源管理能力。
kubectl rolling-update
该命令通过创建一个新的ReplicationController来进行应用的滚动更新。
rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] –image=NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC)
使用frontend-v2.json中的新RC数据更新frontend-v1的pod
kubectl rolling-update frontend-v1 -f frontend-v2.json
根据 frontend-v2.json创建的新的pod会一个一个的将原本的frontend-v1创建的pod逐渐替换,该命令要求新创建的ReplicationController和原先的在同一个namespaces下。这个要在配置文件中指定出来。