kubernetes常用命令
#1.查询信息 kubectl get [需要查询的服务]
node 节点
componentstatuses 简写 cs 组件状态
namespaces 简写 ns 名命空间
pod pod信息 添加 (-o wide )查看运行节点
service 查询service
deployments --all-namespaces
kind分类查询
all --all-namespaces
查询所有
--all-namespaces 所有命名空间
###将信息输入为yaml格式
kubectl get pod [pod名] -o yaml
nginx-6f858d4d45-sgwdf 1/1 Running 0 3h
[root@k8s-m ~]# kubectl get pod nginx-6f858d4d45-sgwdf -o yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: 2018-09-01T10:01:55Z
generateName: nginx-6f858d4d45-
...省略
#查询api-version
kubectl api-versions
查看资源创建帮助
kubectl explain [资源名]
pod
node
rs #replicaset
deploy #DaenmonSet
job #job
#2.删除
1.删除节点
kubectl delete node node1
2.删除pod
kubectl delete pod $(pod_name) -n $(namespace-name)
3.删除services
kubectl delete svc $(svc_name) -n $(namespace-name)
#3.创建
1.创建pod
kubectl create -f create_pod.yaml
2.更新pod
kubectl rolling-update pod_v1 -f pod_v2.yaml
3.回滚
kubectl rolling-update pod_v2 --rollback
##4.标签
查看标签
kubectl get nodes --show-labels
打标签
kubectl label [资源类型] [资源名称] 标签名=值
kubectl label pods nginx-pod release=v1
覆盖原来的标签值
kubectl label pods nginx-pod release=v2 --overwrite
##标签选择器使用逗号可以输入多个条件
等值关系:=、==、!=
例:kubectl get pod -l release=v2
多条件:kubectl get pod -l release=v2,app=my-pod
集合关系:in、notin、!KEY、KEY
例:kubectl get pod -l "release in (aaa,v3,v2)"
notin:kubectl get pod -l "release notin (aaa,v3,v2)"
问题定位
1.查询对象详细信息
kubectl describe pod [pod名] -n [所在命名空间]
[root@k8s-m ~]# kubectl describe pod client -n default
Name: client
Namespace: default
Priority: 0
PriorityClassName: <none>
Node: node1/10.0.0.40
Start Time: Sat, 01 Sep 2018 20:12:08 +0800
Labels: run=client
Annotations: <none>
Status: Failed
IP: 10.244.1.5
..........
2.查询日志
kubectl logs -f
[pod名] -n [所在命名空间]
[root@k8s-m ~]# kubectl logs -f client -n default
/ #
/ # ls
bin etc proc sys usr
dev home root tmp var
/ # cat /etc/resolv.conf
nameserver 10.96.0.10
search default.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
3: eth0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1450 qdisc noqueue
link/ether 0a:58:0a:f4:01:05 brd ff:ff:ff:ff:ff:ff
inet 10.244.1.5/24 scope global eth0
valid_lft forever preferred_lft forever
.........省略
3.进入容器运行命令,如果pod有多个容器,可用-c指定容器
kubectl exec [pod名称] -c [docker镜像] [执行的命令] -n [命名空间]
[root@k8s-m ~]# kubectl exec nginx-6f858d4d45-sgwdf -c nginx hostname -n default
nginx-6f858d4d45-sgwdf