首页 > 其他分享 >k8s常用命令

k8s常用命令

时间:2023-07-04 17:25:30浏览次数:66  
标签:node kubectl ns get 常用命令 pod k8s kube

k8s常用操作命令

1、更改服务的type:

./kubectl edit svc  test0927-1-service -n ns-2查看到type是ClusterIP的;
更改type为NodePort之后,该TYPE类型更新了:


如果要把类型从NodePort,改回ClusterIP,./kubectl edit svc  test0927-1-service -n ns-2后,需要删除里面的30999的端口行

如果没有删除端口行30999,就会显示编辑失败:

 ./kubectl edit svc  test0927-1-service -n ns-2同时,也是能看到服务的yaml内容的一种方式;

 

2、./kubectl get pod -o  wide  -n ns-2   查询pod值的命令中加上格式wide,能多展示两列:IP和NODE:

3、./kubectl get all -o  wide  --all-namespaces    ---查看所有命名空间下的所有信息

4、  kubectl  get ns 获取所有的命名空间

5、查看指定命令空间下所有服务信息:
./kubectl get  all -n ns-2

6、指定命名空间下获取某种类型对象的所有信息
例如:kubectl -n kube-system   get pods      -获取 kube-system命名空间下所有pods信息  
 

7、kubectl cluster-info    查看集群状态
Kubernetes master is running at https://10.20.16.99:8443
Heapster is running at https://10.20.16.99:8443/api/v1/namespaces/kube-system/services/eventer/proxy
Heapster is running at https://10.20.16.99:8443/api/v1/namespaces/kube-system/services/heapster/proxy

8、label  相关操作:

kubectl label  node  nodename key=value   给node节点标注一个label
比如执行如下命令标注k8s-node1是配置了SSD的节点。
kubectl label node k8s-node1 disktype=ssd
然后通过kubectl get node --show-labels查看节点

kubectl label  node  nodename key-     把node节点的label:key删除掉
kubectl get node --show-labels 查看一个node节点的标签信息
kubectl get node --show-labels   获取node上的label信息;
NAME          STATUS    ROLES     AGE       VERSION        LABELS
10.1.235.27   Ready     <none>    21d       v1.8.6-dirty   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=10.1.235.27
10.1.235.28   Ready     <none>    21d       v1.8.6-dirty   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=10.1.235.28

9、获取daemonset 信息
kubectl get  daemonset --all-namespaces 查询所有namespace下的daemonset
DaemonSet kube-flannel-ds和kube-proxy分别负责在每个节点上运
行flannel和kube-proxy组件,因为flannel和kube-proxy属于系统组件,需要在命令行中通过--
namespace=kube-system指定namespace kube-system。若不指定,则只
返回默认namespace default中的资源。

./kubectl get pod -o  wide  -n ns-2   查询pod值的命令中加上格式wide,能多展示两列:IP和NODE:
kubectl get  pods  获取的默认是namespace为default的所有pods;
kubectl get  pods  -n ns-2  加上-n的参数,就可以查看到具体的namespace下的pods信息;
 ./kubectl get deployment  --all-namespaces    是可以查看到所有的namespace下的pods信息;
kubectl get  svc   -n ns-2   ----有些服务的service是查看不到的:nginx的服务没有service。  还有服务如果没有容器端口的话,也没有service 

例如id是2,则ns是ns-2;
kubectl -n ns-2   get pods    
flannel这个网卡的功能是为了跨主机和跨pod的访问;

 

10、日志类命令:

kubectl logs pod-name  查看容器中输出的日志;
kubectl logs  -f  podname  -c  containername  跟踪查看下具体容器的日志,相当于是tail -f 
kubectl  exec  pod-name    cmd: ---在podname中执行cmd命令,该命令用‘’扩好;
kubectl  exec  pod-name  -c    containername  命令: ---在podname中的容器containername中执行命令;
 kubectl exec -it   common-1-controller-786c6c76dd-lqzc8  -c  common-0     /bin/sh   -n ns-2      进入pod common-1-controller-786c6c76dd-lqzc8内的容器common-0中,执行一些命令;
/ # date
Fri Sep 28 15:01:12 CST 2018
/ # 


查看pods中的容器:
 kubectl describe  pods srvregtom-0723nie-001-1-controller-5664dd5fcc-tk222   -n  ns-2  |grep   "Container ID"
    Container ID:   docker://51411280865c6a40f4843b80a2fe180258f881e0071bcf21173c0535dd55ba44
    Container ID:   docker://315a3c1b5e1f9d4e91413e32beacd442765f2d65639bcd0706d3bc8bb851f50d

 

查看pod中容器名:  kubectl get pod 《pod-name》 -o jsonpath='{.spec.containers[*].name}'

进入pod中指定容器: kubectl exec -it <pod-name> -c <container-name> -- /bin/bash

标签:node,kubectl,ns,get,常用命令,pod,k8s,kube
From: https://www.cnblogs.com/Lqdream/p/17526199.html

相关文章

  • MQ常用命令集合
    MQ常用命令集合1、分配MQ./mqadminallocateMQ-nlocalhost:9876-ttst-topic-iipListipList以逗号分隔2、删除topic./mqadmindeleteTopic-nlocalhost:9876-tzto-example-cDefultCluster3、获取topic的cluster./mqadmintopicClusterList-n192.168.1.x:987......
  • K8S | 容器和Pod组件
    对比软件安装和运行;一、场景作为研发人员,通常自己电脑的系统环境都是非常复杂,在个人的习惯上,是按照下图的模块管理电脑的系统环境;对于「基础设施」、「主机操作系统」、「系统软件」来说,通常只做配置修改;对于自行安装的软件环境来说,个人通常这样分类:「应用软件」、「研发软......
  • K8S | 容器和Pod组件
    对比软件安装和运行;一、场景作为研发人员,通常自己电脑的系统环境都是非常复杂,在个人的习惯上,是按照下图的模块管理电脑的系统环境;对于「基础设施」、「主机操作系统」、「系统软件」来说,通常只做配置修改;对于自行安装的软件环境来说,个人通常这样分类:「应用软件」、「研发软......
  • 云原生第七周-k8s日志收集
    k8s日志收集日志收集的目的:分布式日志数据统一收集,实现集中式查询和管理故障排查安全信息和事件管理报表统计及展示功能日志收集的价值:日志查询,问题排查,故障恢复,故障自愈应用日志分析,错误报警性能分析,用户行为分析日志收集方式:node节点收集,基于daemonset部署日志......
  • K8S 部署seata 1.6.x高可用集群
    写在之前seata1.6无法注册到nacos配置中心下面有说原因。2023年7月2日gshelldon写的博客。大于1.4版本之后,配置文件就不是用registry.conf了所以按照官方的文档搭建都是坑。默认使用application.yml的配置文件进行管理。都是坑!!!害我排查了几天。所以官方给出的ya......
  • git 开发常用命令
    git中的代码,整个的流程就是上图显示的那样,代码可能会经历最多4个地方会被推送到远程大致流程:clone克隆远程文件到本地=>通过编辑器编辑本地的代码(即在工作区)=>pull拉下远程的代码,可能有人提交代码到同分支=>add添加到暂存区=>commit提交到本地仓库=>push推送到......
  • k8s部署
    1、下载并解压sealostarzxvfsealos_4.1.3_linux_amd64.tar.gzcpsealos/usr/bin/2、导入镜像,只在节点master1上导入即可sealosload-i/app/k8s-1.21/k8s-1.21.0.tarsealosload-i/app/k8s-1.21/calico-3.22.1.tar3、部署k8s集群方式一:sealosrunlabring/kubernetes:v1......
  • Git常用命令
    Git常用命令gitinit在目录中创建新的Git仓库(初始化仓库)gitclone[url]拷贝Git远程仓库到本地gitadd.将文件提交到缓存区.表示所有文件gitcommit将暂存区的文件提交到本地仓库gitpush上传远程代码并合并gitstatus查看仓库当前的状态,显示有变更的文件......
  • Linux|常用命令|SSH远程执行Shell
    #bash/python命令语法#ssh语法同bash/python不同,避免混淆bashscript.shparams4scriptpythonscript.pyparams4scriptbash-c""bash-c''python-c''python-c""一行和多行只是写法不同打包成函数和文件没有本质区别注意Shell会解释输入,转译字符、变量生效推......
  • Docker CLI docker container inspect 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......