Kubernetes常用命令


常用kubectl命令介绍:

1.help

​ 类似于所有的命令行工具工具,kubectl也可以直接执行 | <kubectl –help>可获得命令的帮助信息

# kubectl --help  查看kubectl帮助信息
# kubectl command --help   查看具体命令的帮助信息
2.get

get命令用于获取集群的resource信息,如node(no),namespace(ns),pod(po),service(svc)等,使用–help可以获取帮助信息

# kubectl get node                               #查看node
# kubectl get namespace                      #查看namespace
# kubectl get po --all-namespaces         #查看所有的pod
# kubectl get po -n kube-system           #查看指定namespace中的所有pod
# kubectl get svc  -o yaml                    #查看service并以yaml的格式输出.-o 选项还有wide,json等,详见帮助
3.describe

类似于get,不同的是describe将攻取某一具体资源的更详细信息

# kubectl describe no NodeName                               #获取某个节点的详细信息
# kubectl describe pod PodName -n NameSpace          #获取某个pod的详细信息
4.create

​ 根据文件或输入创建集群resource

# kubectl create -f rc-nginx.yaml
5.replace

​ replace命令用于对已有资源进行更新、替换. 如前面create中创建的nginx,当我们需要更新resource的一些属性的时候,
​ 如果修改副本数量,增加、修改label,更改image版本,修改端口等。都可以直接修改原yaml文件,然后执行replace命令.

# kubectl replace -f rc-nginx.yaml

注:名字不能被更新。另外,如果是更新label,原有标签的pod将会与更新label后的rc断开联系,有新label的rc将会创建指定副本数的新的pod,
但是默认并不会删除原来的pod。所以此时如果使用get po将会发现pod数翻倍,进一步check会发现原来的pod已经不会被新rc控制
6.patch

如果一个容器已经在运行,这时需要对一些容器属性进行修改,又不想删除容器,或不方便通过replace的方式进行更新。
kubernetes还提供了一种在容器运行时,直接对容器进行修改的方式,就是patch命令。

如前面创建pod的label是app=nginx-2,如果在运行过程中,需要把其label改为app=nginx-3,这patch命令如下:
# kubectl patch pod rc-nginx-2-kpiqt -p '{"metadata":{"labels":{"app":"nginx-3"}}}'
7.delete

根据resource名,文件或label删除resource

# kubectl delete -f rc-nginx.yaml                    #通过yaml文件删除
# kubectl delete po rc-nginx-btv4j                  #通过pod名称删除
# kubectl delete po -l app=nginx-2                #通过label删除
8.logs

logs命令用于显示pod运行中,容器内程序输出到标准输出的内容。跟docker的logs命令类似。如果要获得tail -f 的方式,也可以使用-f选项

# kubectl logs rc-nginx-2-kpiqt 
9.rolling-update

rolling-update是一个非常重要的命令,对于已经部署并且正在运行的业务,rolling-update提供了不中断业务的更新方式。
rolling-update每次起一个新的pod,等新pod完全起来后删除一个旧的pod,然后再起一个新的pod替换旧的pod,直到替换掉所有的pod。

rolling-update需要确保新的版本有不同的name,Version和label,否则会报错
# kubectl rolling-update rc-nginx-2 -f rc-nginx.yaml     #升级
如果在升级过程中,发现有问题还可以中途停止update,并回滚到前面版本
# kubectl rolling-update rc-nginx-2 --rollback              #回滚
10.scale

​ scale用于副本的扩容或缩容,如前面创建的nginx有两个副本,可以轻松的使用scale命令对副本数进行扩展或缩小。

 # kubectl scale deployment  rc-nginx-3 --replicas=4       #扩容到4个    
 # kubectl scale deployment rc-nginx-3 --replicas=2        #缩容至2个

 上一篇
Tomcat_04_安全优化 Tomcat_04_安全优化
10、Tomcat安全优化1、telnet管理端口保护(强制) 类别 配置内容及说明 标准配置 备注 telnet管理端口保护 1.修改默认的8005管理端口为不易猜测的端口(大于1024);2.修改SHUTDOWN指令为其他
2020-03-30
下一篇 
Tomcat_03_监控 Tomcat_03_监控
9、监控tomcat集群状态1、方法一:开发java监控页面[root@web03 tomcat8_1]# cat /application/tomcat/webapps/memtest/meminfo.jsp <% Runti
2020-03-27
  目录