⏰⏰⏰⏰⏰⏰⏰⏰K8s常用指令集锦

1、常用基础命令

kubectl top pod -n wsmp 
kubectl get pod    # 获取namespace下的所有pod

kubectl get pods -o wide    # 获取 pod 详细信息
kubectl describe po ${podName}     # 获得pod的状态

kubectl get po ${podName} -o yaml   # yaml 看不惯的话,也可以改为 json
kubectl exec -ti  ${podName}  -- /bin/ash    # 进入pod 查看日志

kubectl logs -p -nwsmp pod name 上一个实例的日志
kubectl logs -f -nwsmp pod nam 流式展示

2、概念相关

2.1 Controller

1.ReplicaSet : 确保预期的Pod副本数量,很少直接使用,需要被Deployment管理。
2.Deployment : 作用于一组Pod的创建和运行,控制pod应用的升级、回滚,当然也能控制pod的数量。
在这里插入图片描述

2.2 Deployment

定义Deployment来创建Pod和ReplicaSet

  • 滚动升级和回滚应用
  • 扩容和缩容
  • 暂停和继续Deployment

2.3 Service

在K8S中,一方面Pod有伸缩与重新部署的需求,Pod的IP大多数情况是不固定的,另一方面,同一组Pod之间也有负载均衡的需要。因此,一组Pod被抽象成一个Service统一向外暴露。Service与其后端Pod副本集群之间则是通过Label Selector实现关联。

  • ClusterIP:提供一个集群内部的虚拟IP(clusterIP),以便在集群内部通过clutserIP:port访问;
  • NodePort:在每个节点上打开一个端口,在集群外部可以通过nodeIP:nodePort访问,在内部依然可以通过clutserIP:port 访问;
  • LoadBalancer:通过外部的负载均衡器来访问,多用于公有云上。

Service vs Deployment

  1. Service是从网络角度的抽象概念,类似于Nginx做负载均衡提供的统一网络入口;
  2. Pod是最终的应用部署实体;
  3. Deoplyment 负责创建和保持pod运行状态。
 get secret  -nns
 kubectl delete secret name -nns
 kubectl get secret  -nns|grep gaea
 kubectl delete secret name -nns
 kubectl get pod -nns
 kubectl get svc -nns
 kubectl get deploy -nns

其他

  • k8s中的apiVersion版本,可以使用命令kubectl api-versions查看,这里列举三个常见的

  • kubectl日志查看: journalctl -xefu kubelet = tail -f /var/log/messages

  • docker相关

    docker container ls -a :列出所有容器
    systemctl show --property ActiveState docker  : dockerd是否在本地计算机上运行
    systemctl start docker: 启动docker
    system restart docker: 重启docker
    docker.sock不能创建:rm -rf /var/run/docker.sock,再重启docker
    
  • 查看test下pod的镜像

     kubectl -n test get pods | grep Running | awk '{print $1}' | xargs -r -I '{}' kubectl -n wsmp get pods {} -o=jsonpath='{.status.containerStatuses[0].image}{"\n"}' | sort  
    
  • port、nodePort、targetPort、containerPort
    port和nodePort都是service的端口,前者暴露给k8s集群内部服务访问,后者暴露给k8s集群外部流量访问。从这两个端口到来的数据都需要经过反向代理kube-proxy,流入后端pod的targetPort上,最后到达pod内容器的containerPort。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
很抱歉,我无法提供思维导图。但是,我可以为您提供一些常用的Kubernetes命令。以下是一些常用的Kubernetes命令: 1. kubectl get pods:获取当前集群中的所有Pods的信息。 2. kubectl get deployments:获取当前集群中的所有Deployments的信息。 3. kubectl get services:获取当前集群中的所有Services的信息。 4. kubectl create deployment \[deployment-name\] --image=\[image-name\]:创建一个新的Deployment。 5. kubectl scale deployment \[deployment-name\] --replicas=\[number\]:扩展或缩小一个Deployment的副本数量。 6. kubectl delete deployment \[deployment-name\]:删除一个Deployment。 7. kubectl describe pod \[pod-name\]:获取一个Pod的详细信息。 8. kubectl logs \[pod-name\]:获取一个Pod的日志。 9. kubectl exec -it \[pod-name\] -- \[command\]:在一个Pod中执行一个命令。 10. kubectl apply -f \[file-name\]:使用一个YAML文件创建或更新资源。 这些是一些常用的Kubernetes命令,可以帮助您管理和操作Kubernetes集群中的资源。希望对您有所帮助! #### 引用[.reference_title] - *1* *2* *3* [k8s学习-思维导图与学习笔记](https://blog.csdn.net/lady_killer9/article/details/124544947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zkFun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值