K8s对资源的操作
只要是操作对象都可以增删改查(create、get、describe、delete…)
- 名称空间:namespace 名称空间先理解成分组
- 容器组:Pod
- 网络:service
- 配置文件:config
- 控制器:controller
- 节点:node
...
查
-n:指定名称空间
-o:指定输出格式{yaml|json|wide}
-f:指定资源清单名字
-c:指定容器名
## 查看node节点
[root@k8s01 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s01 Ready master 13h v1.19.3
k8s02 Ready node 12h v1.19.3
k8s03 Ready node 12h v1.19.3
## 查看有哪些名称空间
[root@k8s01 ~]# kubectl get namespaces
[root@k8s01 ~]# kubectl get ns
NAME STATUS AGE
default Active 13h
kube-flannel Active 12h
kube-node-lease Active 13h
kube-public Active 13h
kube-system Active 13h
## 查看pod
[root@k8s01 ~]# kubectl get pods -n 名称空间 (不指定就是看default里的)
增、删
## 创建名称空间
[root@k8s01 ~]# kubectl create namespace kube-andrew
namespace/kube-andrew created
[root@k8s01 ~]# kubectl get namespaces
NAME STATUS AGE
default Active 13h
kube-andrew Active 6s
...
## 创建pod(不指定默认创建到default名称空间)
[root@k8s01 ~]# kubectl create deployment nginx --image=nginx:alpine
deployment.apps/nginx created
[root@k8s01 ~]# kubectl create deployment nginx --image=nginx:alpine -n kube-andrew
deployment 控制器
--image=nginx:alpine 指定镜像
-n 在指定的名称空间中创建pod
[root@k8s01 ~]# kubectl get pod //查看pod详细信息
NAME READY STATUS RESTARTS AGE
nginx-565785f75c-c4fcl 1/1 Running 0 10s
[root@k8s01 ~]# kubectl get pod -o wide //指定输出格式查看pod详细信息
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-565785f75c-c4fcl 1/1 Running 0 18s 10.2.1.5 k8s03 <none> <none>
## 删除pod
[root@k8s01 ~]# kubectl delete pod nginx-565785f75c-c4fcl
pod "nginx-565785f75c-c4fcl" deleted
[root@k8s01 ~]# kubectl get pod //由于是deployment控制器,删除一个pod后立马会新启一个
NAME READY STATUS RESTARTS AGE
nginx-565785f75c-flskw 1/1 Running 0 20s
## 删除控制器即可
[root@k8s01 ~]# kubectl get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
nginx 1/1 1 1 3m51s
[root@k8s01 ~]# kubectl delete deployment nginx
deployment.apps "nginx" deleted
[root@k8s01 ~]# kubectl get deployment
No resources found in default namespace.
[root@k8s01 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-565785f75c-flskw 0/1 Terminating 0 3m
[root@k8s01 ~]# kubectl get pod //稍等片刻就删掉了
No resources found in default namespace.
查看pod详细信息
## 查看pod创建详细信息:可以看到它用的啥镜像
[root@k8s01 ~]# kubectl describe pod nginx-565785f75c-m4c9n -n kube-andrew
## 查看pod日志(常用于排错)
[root@k8s01 ~]# kubectl logs -n kube-andrew nginx-565785f75c-m4c9n