K8S常用命令

1.获取所有节点

 kubectl get nodes

Ready状态说明启动成功

2.名称空间

不指定的情况下都会创建在default

#创建名称空间
kubectl create ns 名称空间名称
kubectl create ns test

#获取名称空间
kubectl get ns

#删除名称空间(部署的资源也会删除)
kubectl delete ns 名称空间名称
kubectl delete ns test
apiVersion: v1
kind: Namespace
metadata:
  name: hello

3.获取pod

#创建默认名称空间下的pod
kubectl run pod名称 --image=镜像名
kubectl run mynginx --image=nginx

#描述pod
kubectl describe pod pod名称
kubectl describe pod mynginx

#获取默认的名称空间下的pod 
kubectl get pod
kubectl get pods

#获取默认的名称空间下的pod的详细信息
kubectl get pod -owide

#获取所有名称空间下的pod
kubectl get pods -A

#获取某个名称空间下的pod
kubectl get pods -n 名称空间名称

#删除默认名称空间的pod
kubectl delete pod pod名称
kubectl delete pod mynginx

#删除指定名称空间的pod
kubectl delete pod -n 名称空间名称 pod名称 
kubectl delete pod -n test mynginx

#查看pod日志(只有pod有日志)
kubectl logs pod名称
kubectl logs mynginx
kubectl logs -f mynginx

#进入某个pod
kubectl exec -it pod名称 -- /bin/bash
kubectl exec -it mynginx  -- /bin/bash
apiVersion: v1
kind: Pod
metadata:
  labels:
    run: myapp
  name: myapp
spec:
  containers:
  - image: nginx
    name: nginx
  - image: tomcat:8.5.68
    name: tomcat

3.deployment

#创建一次部署
kubectl create deployment/deploy pod名称 --image=镜像名称
kubectl create deployment mytomcat --image=tomcat:8.5.68

#删除部署
kubectl delete deployment pod名称
kubectl delete deployment mytomcat

#多副本部署
kubectl delete deployment pod名称 ---replicas=pod数量
kubectl delete deployment mytomcat --replicas=3

问:run和deployment创建的pod有什么区别?

答:run命令启动的pod删除之后就真正删除了,deployment删除之后会再次启动一个新的pod(自愈能力)

配置文件

kubectl apply -f xxx.yaml

kubectl delete -f xxx.yaml