1)create2)get3)run4)set5)get6)explain7)edit8)delete9)rollout10)rolling-update11)scale12)autoscale
1)create通过文件名或控制台输入创建资源,支持JSON与YAML格式的文件:
kubectl create -f 文件名
1. create deployment
创建具有指定名称的deployment
kubectl create deployment busybox-deployment --image=busybox
2.create namespace
创建具有指定名称的namespace
kubectl create namespace my-namespace
3.create quota
创建具有指定名称的quota(资源配额)
kubectl create quota my-quota hard=cpu=1,memory=1G,pods=2,services=3,replicationcontrollers=2,resourcequotas=1,secrets=5,persistentvolumeclaims=10
4.create service
使用指定的子命令创建一个服务。
创建一个名为my-cs的clusterIP服务
kubectl create service clusterip my-cs --tcp=5678:8080
创建一个名为my-ns的ExternalName服务,ExternalName服务引用外部DNS地址而不仅仅是集群内部的pod地址,着将允许应用程序引用在其他群集或集群平台之外已经存在的服务
kubectl create service externalname my-ns --external-name bar.com
创建一个名为my-lbs的LoadBalancer服务
kubectl create service loadbalancer my-lbs --tcp=5678:8080
创建一个名为my-ns的nodeport服务
kubectl create service nodeport my-ns --tcp=5678:80802)get
显示一个或多个资源。kubectl get默认隐藏已停止的资源,可以通过–show-all标志来查看任务资源的完整结果
kubectl get pods kubectl get pods -o wide3)run
创建并运行特定镜像。通过创建deployment或job来管理创建的容器。
#启动一个有5个副本的nginx实例,并在容器中设置环境变量 kubectl run nginx --image=nginx --replicas=5 --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default" #只打印,不执行 kubectl run nginx --image=nginx --dry-run #重启策略 kubectl run -i -t busybox --image=busybox --restart=Never4)set
配置应用资源,这个命令可以更改现有的应用程序资源。
kubectl set image -f FILENAME | TYPE NAME
1.image
#将deployment nginx的容器设置为nginx:1.9.1 kubectl set image deployment nginx nginx=nginx:1.9.1 #将所有deployment和rc的nginx容器的镜像更新为nginx:1.9.1 kubectl set image deployment,rc nginx=nginx:1.9.1 --all
2.resources
为Pod模板指定计算资源请求。如果一个Pod被成功部署,这个命令将保证Pod请求的资源数量。
kubectl set resources -f FILENAME | TYPE NAME
#部署niginx容器,cpu限制为200m,内存设置为512Mi kubectl set resources deployment nginx --containers=nginx --limits=cpu=200m,memory=512Mi #为deployment nginx中的所有容器设置资源请求限制 kubectl set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi #删除deployment nginx中容器资源的资源请求 kubectl set resources deployment nginx --limits=cpu=0,memory=0 --requests=cpu=0,memory=05)get
显示一个或多个资源。kubectl get默认隐藏已停止的资源,可以通过–show-all标志来查看任务资源的完整结果
kubectl get pods kubectl get pods -o wide6)explain
资源记录。获取资源及其字段的文档。
kubectl explain pods #获取资源的特定字段的文档 kubectl explain pods.spec.containers7)edit
在服务器上使用默认编辑器资源,使用这个命令可以编辑多个对象,然后一次性地应用更改。
#编辑名为nginx的服务 kubectl edit svc nginx #在YAML中编辑部署nginx-deployment,并将修改的配置保存在其注释中 kubectl edit deployment nginx-deployment -o yaml --save-config8)delete
通过指定文件名、stdin、资源名称、资源标签选择器来删除资源。
1.删除SVC
(base) [root@bigdata1 data]# kubectl delete svc nginx service "nginx" deleted
2.删除RC
(base) [root@bigdata1 data]# kubectl delete rs nginx-deployment-5864557f99 replicaset.apps "nginx-deployment-5864557f99" deleted
3.删除Deployment
(base) [root@bigdata1 data]# kubectl delete deployment nginx deployment.apps "nginx" deleted
4.删除Pod
# 强制删除Pod (base) [root@bigdata1 data]# kubectl delete pod nginx-6799fc88d8-hqrm8 --force warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely. pod "nginx-6799fc88d8-hqrm8" force deleted #删除所有的pod kubectl delete pods --all # 删除标签为name=myLabel的Pod和服务 kubectl delete pods,services -l name=myLabel9)rollout
管理资源对象的部署。有效的资源对象包括:deployment、daemonsets
1.history
#查看以前部署的版本和配置。查看deployment资源的部署历史 kubectl rollout history deployment nginx #查看daemonset revision为3的细节 kubectl rollout history daemonset nginx --revision=3
2.pause
将指定的资源标记为已暂停,已暂停资源将不会由控制器调度。使用kubectl rollout resume恢复暂停的资源,目前仅支持暂停deployment资源。
#将nginx部署标记为已暂停 kubectl rollout pause deployment nginx
3.resume
恢复暂停资源,暂停的资源将不会被控制器调度。通过恢复资源,允许再次调度。目前仅deployment支持从暂停中恢复。
#恢复一个已经暂停的deployment kubectl rollout resume deployment nginx
4.status
#显示deployment部署的状态 kubectl rollout status deployment nginx
5.undo
回滚到先前的部署
kubectl rollout undo deployment nginx #回滚到daemonset第3个修订版 kubectl rollout undo daemonset nginx --to-revision=310)rolling-update
执行指定的RC进行滚动更新,使用新的RC控制器替换旧的RC控制器,逐步使用新的Pod Template替换旧的Pod。新旧RC必须在同一个namespace中,并覆盖其选择器中至少一个标签(通常是版本号),以便选择器可以区分新旧版本RC。
#将frontend-v1的Pod更新为frontend-v2,只需更改镜像即可 kubectl rolling-update frontend-v1 frontend-v2 --image=image:v2 #通过更改镜像来更新前端的Pod,并保留旧名称 kubectl rolling-update frontend --image=image:v2 #终止并回滚正在进行的升级 *** 作 kubectl rolling-update frontend-v1 frontend-v2 --rollback11)scale
为deployment、RS、RC或Job设置新的规模。
#将名为foo的RS资源调整为3个 kubectl scale --replicas=3 rs foo #将名为nginx-deployment的deployment资源调整为3个 kubectl scale deployment nginx-deployment --replicas=312)autoscale
创建自动规模伸缩器,可自动调整并设置在k8s集群中运行的Pod数量。通过名称查找Deployment、ReplicaSet或ReplicationController,并创建一个使用指定资源状态作为参考的自动规模伸缩器,autoscale可以根据需要自动增加或减少系统中部署的Pod数量。
#自动缩放deployment nginx,Pod数量在2到10之间,参考资源是CPU的利用率,使用默认的自动缩放策略 kubectl autoscale deployment nginx --min=2 --max=10 #自动缩放rc nginx,Pod数量介于1到5之间,当CPU利用率为80%时,启动缩放调整 kubectl autoscale rc nginx --max=5 --cpu-percent=80
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)