Kubernetes之常用命令

kubectl apply -f pod_nginx.yaml [Pod创建]

1.创建配置ymal文件

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80

2.启动Pod

[root@manager-node demo]# ls -la
total 4
drwxr-xr-x. 2 root root  36 Jan  5 01:28 .
dr-xr-x---. 7 root root 243 Jan  2 04:24 ..
-rw-r--r--. 1 root root 353 Jan  2 04:25 pod_nginx_kubeadm.yaml
[root@manager-node demo]# vi pod_nginx.yaml
[root@manager-node demo]# kubectl apply -f pod_nginx.yaml 
pod/nginx created
[root@manager-node demo]# kubectl get pods
NAME          READY   STATUS              RESTARTS   AGE
nginx         0/1     ContainerCreating   0          6s
[root@manager-node demo]#

kubectl get pods [获取当前pod]

1.这里注意下,kubectl get pods 只能在主节点才会有权限;
[root@manager-node ~]# kubectl get pods
NAME          READY   STATUS        RESTARTS   AGE
nginx-5ltjv   0/1     Pending       0          114m
nginx-8g24r   0/1     Pending       0          114m
nginx-9t4qw   1/1     Terminating   1          4h50m
nginx-cmktg   1/1     Terminating   1          3h50m
nginx-t75nq   1/1     Terminating   1          3h50m
nginx-whjfv   0/1     Pending       0          114m
[root@manager-node ~]# 

kubectl get pods -o wide [获取当前pod的详情]

[root@manager-node ~]# kubectl get pods -o wide
NAME          READY   STATUS        RESTARTS   AGE     IP              NODE            NOMINATED NODE   READINESS GATES
nginx-5ltjv   0/1     Pending       0          114m    <none>          <none>          <none>           <none>
nginx-8g24r   0/1     Pending       0          114m    <none>          <none>          <none>           <none>
nginx-9t4qw   1/1     Terminating   1          4h51m   192.168.101.6   worker01-node   <none>           <none>
nginx-cmktg   1/1     Terminating   1          3h51m   192.168.101.5   worker01-node   <none>           <none>
nginx-t75nq   1/1     Terminating   1          3h51m   192.168.101.4   worker01-node   <none>           <none>
nginx-whjfv   0/1     Pending       0          114m    <none>          <none>          <none>           <none>
[root@manager-node ~]#

kubectl get pods --all-namespaces -w [查看所有namespace下的pod]

[root@manager-node demo]# kubectl get pods --all-namespaces -w
NAMESPACE     NAME                                       READY   STATUS    RESTARTS   AGE
default       nginx-fsm75                                1/1     Running   0          105s
default       nginx-vv4zn                                1/1     Running   0          105s
default       nginx-x4czm                                1/1     Running   0          105s
kube-system   calico-kube-controllers-594b6978c5-7lxqz   1/1     Running   4          39h
kube-system   calico-node-82rx7                          1/1     Running   4          39h
kube-system   calico-node-xrqf8                          1/1     Running   3          24h
kube-system   calico-node-z86gh                          1/1     Running   3          24h
kube-system   coredns-fb8b8dccf-6hvcz                    1/1     Running   4          39h
kube-system   coredns-fb8b8dccf-x8xxc                    1/1     Running   4          39h
kube-system   etcd-manager-node                          1/1     Running   4          39h
kube-system   kube-apiserver-manager-node                1/1     Running   5          39h
kube-system   kube-controller-manager-manager-node       1/1     Running   5          39h
kube-system   kube-proxy-5q9b5                           1/1     Running   4          24h
kube-system   kube-proxy-pw6r7                           1/1     Running   3          24h
kube-system   kube-proxy-rvddm                           1/1     Running   4          39h
kube-system   kube-scheduler-manager-node                1/1     Running   6          39h

kubectl get pods -n kube-system [查看k8s系统级别的pod]

root@manager-node demo]# kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-594b6978c5-7lxqz   1/1     Running   1          16h
calico-node-82rx7                          1/1     Running   1          16h
calico-node-xrqf8                          1/1     Running   0          104m
calico-node-z86gh                          1/1     Running   0          104m
coredns-fb8b8dccf-6hvcz                    1/1     Running   1          16h
coredns-fb8b8dccf-x8xxc                    1/1     Running   1          16h
etcd-manager-node                          1/1     Running   1          16h
kube-apiserver-manager-node                1/1     Running   1          16h
kube-controller-manager-manager-node       1/1     Running   2          16h
kube-proxy-5q9b5                           1/1     Running   0          104m
kube-proxy-pw6r7                           1/1     Running   0          104m
kube-proxy-rvddm                           1/1     Running   1          16h
kube-scheduler-manager-node                1/1     Running   3          16h
[root@manager-node demo]# 

kubectl describe pod {pod_name} [获取某个pod的详细信息]

[root@manager-node ~]# kubectl get pods
NAME          READY   STATUS        RESTARTS   AGE
nginx-5ltjv   0/1     Pending       0          116m
nginx-8g24r   0/1     Pending       0          116m
nginx-9t4qw   1/1     Terminating   1          4h52m
nginx-cmktg   1/1     Terminating   1          3h52m
nginx-t75nq   1/1     Terminating   1          3h52m
nginx-whjfv   0/1     Pending       0          116m
[root@manager-node ~]# kubectl describe pod nginx-5ltjv
Name:               nginx-5ltjv
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               <none>
Labels:             tier=frontend
Annotations:        <none>
Status:             Pending
IP:                 
Controlled By:      ReplicaSet/nginx
Containers:
  nginx:
    Image:        nginx
    Port:         80/TCP
    Host Port:    0/TCP
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-bgkw6 (ro)
Conditions:
  Type           Status
  PodScheduled   False 
Volumes:
  default-token-bgkw6:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-bgkw6
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  71s (x82 over 116m)  default-scheduler  0/3 nodes are available: 3 node(s) had taints that the pod didn't tolerate.
[root@manager-node ~]# 

kubectl exec -it {pod_name} sh [进入某个pod]

[root@manager-node ~]# kubectl get pods
NAME          READY   STATUS    RESTARTS   AGE
nginx-5ltjv   1/1     Running   0          3h20m
nginx-8g24r   1/1     Running   0          3h20m
nginx-whjfv   1/1     Running   0          3h20m
[root@manager-node ~]# kubectl exec -it nginx-5ltjv sh
# 
# pwd
/
# ls -la
total 8
drwxr-xr-x.   1 root root   28 Jan  2 10:09 .
drwxr-xr-x.   1 root root   28 Jan  2 10:09 ..
-rwxr-xr-x.   1 root root    0 Jan  2 10:09 .dockerenv
drwxr-xr-x.   2 root root 4096 Dec 24 00:00 bin
drwxr-xr-x.   2 root root    6 Nov 10 12:17 boot
drwxr-xr-x.   5 root root  360 Jan  2 10:09 dev
drwxr-xr-x.   1 root root   66 Jan  2 10:09 etc
drwxr-xr-x.   2 root root    6 Nov 10 12:17 home
drwxr-xr-x.   1 root root   56 Dec 28 15:20 lib
drwxr-xr-x.   2 root root   34 Dec 24 00:00 lib64
drwxr-xr-x.   2 root root    6 Dec 24 00:00 media
drwxr-xr-x.   2 root root    6 Dec 24 00:00 mnt
drwxr-xr-x.   2 root root    6 Dec 24 00:00 opt
dr-xr-xr-x. 134 root root    0 Jan  2 10:09 proc
drwx------.   2 root root   37 Dec 24 00:00 root
drwxr-xr-x.   1 root root   38 Jan  2 10:09 run
drwxr-xr-x.   2 root root 4096 Dec 24 00:00 sbin
drwxr-xr-x.   2 root root    6 Dec 24 00:00 srv
dr-xr-xr-x.  13 root root    0 Jan  2 10:08 sys
drwxrwxrwt.   1 root root    6 Dec 28 15:20 tmp
drwxr-xr-x.   1 root root   66 Dec 24 00:00 usr
drwxr-xr-x.   1 root root   19 Dec 24 00:00 var
# 

备注

kubectl exec -it {pod_name} sh
当然也可以
kubectl exec -it {pod_name} bash

kubectl delete -f {pod配置文件目录} [删除pod]

[root@manager-node ~]# cd demo/
[root@manager-node demo]# ls -la
total 4
drwxr-xr-x. 2 root root  36 Jan  2 04:25 .
dr-xr-x---. 7 root root 243 Jan  2 04:24 ..
-rw-r--r--. 1 root root 353 Jan  2 04:25 pod_nginx_kubeadm.yaml
[root@manager-node demo]# pwd
/root/demo
[root@manager-node demo]# kubectl delete -f pod_nginx_kubeadm.yaml 
replicaset.apps "nginx" deleted
[root@manager-node demo]# 
[root@manager-node demo]# kubectl get pods
No resources found.
[root@manager-node demo]# 

kubectl delete pod {pod_name} [删除某个pod]

[root@manager-node ~]# kubectl get pods -o wide
NAME    READY   STATUS    RESTARTS   AGE   IP              NODE            NOMINATED NODE   READINESS GATES
nginx   1/1     Running   1          21h   192.168.38.74   worker02-node   <none>           <none>
[root@manager-node ~]# kube
kubeadm/ kubectl  kubelet  
[root@manager-node ~]# kubectl delete pod nginx
pod "nginx" deleted
[root@manager-node ~]# 
发布了261 篇原创文章 · 获赞 37 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/u014636209/article/details/103807656