Kubernetes 常用命令 持续更新
1、进入指定namespace pod
kubectl exec -it --namespace=kube-system g-lsb-proxy-nginx-r7zfl-2522744936-11rld /bin/sh
kubectl exec -it g-lsb-proxy-nginx-r7zfl-2522744936-9tz5k -n kube-system /bin/bash
2、查看k8s pod详情
kubectl describe pods -n jiankunking gateway-7d89b6f6fb-dj4qp
kubectl get pod logging-filebeat-filebeat-v1-0-5565m -n kube-system -o json
3、 指定api版本查看
kubectl get hpa.v2beta2.autoscaling -n jiankunking app-hpa-331087943 -oyaml
4、工作负载异常:结束中,解决Terminating状态的Pod删不掉的问题
kubectl delete pod es-remote-cluster-5757595946-vtzsh -n dev1 --grace-period=0 --force
5、查看cron job运行情况
kubectl describe job -n console k8s-sync-1611306600
具体信息:
Name: k8s-sync-1611306600
Namespace: console
Selector: controller-uid=9b6edd8d-5c91-11eb-90b0-e4434b7c486d
Labels: app=k8s-synccontroller.jiankunking.io/chart=appcontroller.jiankunking.io/release=k8s-syncversion=v1
Annotations: helm.sh/namespace: consolehelm.sh/path: apphelm.sh/release: k8s-sync
Controlled By: CronJob/k8s-sync
Parallelism: 1
Completions: 1
Active Deadline Seconds: 1800s
Pods Statuses: 0 Running / 0 Succeeded / 0 Failed
Pod Template:Labels: app=k8s-synccontroller-uid=9b6edd8d-5c91-11eb-90b0-e4434b7c486dcontroller.jiankunking.io/chart=appcontroller.jiankunking.io/name=k8s-synccontroller.jiankunking.io/release=k8s-syncjob-name=k8s-sync-1611306600version=v1Annotations: helm.sh/namespace: consolehelm.sh/path: apphelm.sh/release: k8s-syncv1.multus-cni.io/default-network: k8s-pod-networkContainers:c0:Image: registry.jiankunking.net/k8s/k8s-sync:v0.0.18-cliPort: <none>Host Port: <none>Command:k8s-syncnamespaceLimits:cpu: 300mmemory: 50MiRequests:cpu: 100mmemory: 20MiEnvironment:POD_NAMESPACE: (v1:metadata.namespace)POD_NAME: (v1:metadata.name)POD_IP: (v1:status.podIP)NODE_NAME: (v1:spec.nodeName)Mounts: <none>Volumes: <none>
Events:Type Reason Age From Message---- ------ ---- ---- -------Warning FailedCreate 14m job-controller Error creating: pods "k8s-sync-1611306600-khfng" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning FailedCreate 14m job-controller Error creating: pods "k8s-sync-1611306600-klpt2" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning FailedCreate 13m job-controller Error creating: pods "k8s-sync-1611306600-vqk6v" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning FailedCreate 13m job-controller Error creating: pods "k8s-sync-1611306600-tmq2r" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning FailedCreate 11m job-controller Error creating: pods "k8s-sync-1611306600-7z6rf" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning FailedCreate 9m16s job-controller Error creating: pods "k8s-sync-1611306600-lsg25" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25Warning FailedCreate 3m56s job-controller Error creating: pods "k8s-sync-1611306600-8rldr" is forbidden: exceeded quota: console, requested: limits.cpu=300m,requests.cpu=100m, used: limits.cpu=60,requests.cpu=25, limited: limits.cpu=60,requests.cpu=25
6、查看所有api资源
kubectl api-resources
结果类似:
root@kube-master-10-10-1-2:~# kubectl api-resources
NAME SHORTNAMES APIGROUP NAMESPACED KIND
bindings true Binding
componentstatuses cs false ComponentStatus
configmaps cm true ConfigMap
endpoints ep true Endpoints
events ev true Event
limitranges limits true LimitRange
namespaces ns false Namespace
nodes no false Node
persistentvolumeclaims pvc true PersistentVolumeClaim
persistentvolumes pv false PersistentVolume
pods po true Pod
podtemplates true PodTemplate
replicationcontrollers rc true ReplicationController
resourcequotas quota true ResourceQuota
secrets true Secret
serviceaccounts sa true ServiceAccount
services svc true Service
challenges acme.cert-manager.io true Challenge
orders acme.cert-manager.io true Order
initializerconfigurations admissionregistration.k8s.io false InitializerConfiguration
mutatingwebhookconfigurations admissionregistration.k8s.io false MutatingWebhookConfiguration
7、查看networkpolicy 信息
kubectl get networkpolicy --all-namespaces
kubectl get networkpolicy -n work-prod work-prod -oyaml
8、查看pod中有几容器
kubectl top pod lb-1823094884-proxy-nginx-j4yzw-564c48d4cc-l22h8 -n kube-system --containers
输出
POD NAME CPU(cores) MEMORY(bytes)
lb-1823094884-proxy-nginx-j4yzw-564c48d4cc-l22h8 proxy 122m 404Mi
lb-1823094884-proxy-nginx-j4yzw-564c48d4cc-l22h8 sidecar 1m 42Mi
进入某个容器
kubectl exec -it lb-1823094884-proxy-nginx-j4yzw-564c48d4cc-l22h8 -n kube-system -c proxy /bin/bash
如果提示下面的错误
Error from server (Forbidden): pods "lb-1823094884-proxy-nginx-j4yzw-564c48d4cc-l22h8" is forbidden: cannot exec into or attach to a container using host network
就到pod对应的机器上,通过docker exec进入
8、查看contexts候选列表
kubectl config get-contexts
9、切换contexts
kubectl config use-context {your-contexts}
10、查询集群中的node
kubectl get nodes
11、查询某个node上所有的pod
// linuxkubectl get po --all-namespaces -o wide |select-string 56-7// powershellkubectl get po --all-namespaces -o wide |grep 56-7
12、从本机拷贝文件到pod
kubectl cp 主机文件路径 -n 分区 -c 容器 pod名:容器内绝对路径
kubectl cp ./go-runner -n apisix apisix-gw-deployment-68469c88b6-l4mcm:/tmp
13、pod 网络监控
nsenter -t 2498080 -n tcpdump -i eth0 -nnvvA port 8080 -w a.pcap
https://blog.csdn.net/jiankunking/article/details/125189956?spm=1001.2014.3001.5501
14、查看系统中的 CRD 资源
kubectl get CustomResourceDefinition
15、kubectl 指定配置文件
kubectl --kubeconfig /root/config config get-contexts
16、使用 nsenter 进入 netns 抓包
https://jiankunking.blog.csdn.net/article/details/125189956
17、如何查看k8s中kube-proxy的模式是ipvs还是iptables
通过 kubectl 命令查看 kube-proxy 的配置:
[jiankunking@hddxps8156 ~]# kubectl config use-context qd-test
Switched to context "qd-test".
[jiankunking@hddxps8156 ~]# kubectl get configmap kube-proxy -n kube-system -o yaml | grep modemode: ipvs
[jiankunking@hddxps8156 ~]#
18、kubectl describe node
可通过该命令查看 Pod 在节点上的资源分配情况(Request、Limits),如下:
# product 表示生产环境
kubectl describe node -l env=product# 执行结果
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits AGE
--------- ---- ------------ ---------- --------------- ------------- ---
product annoroad-clinicallims3-754dddb5cb-k5xkn 0 (0%) 0 (0%) 0 (0%) 0 (0%) 85d
product annoroad-crm-796884585d-ts2xn 0 (0%) 0 (0%) 0 (0%) 0 (0%) 85d
product annoroad-dms-6d658d564f-m6j7r 0 (0%) 0 (0%) 0 (0%) 0 (0%) 16d
product annoroad-dms-server-6557c5bc85-45sw2 0 (0%) 0 (0%) 0 (0%) 0 (0%) 15d
19、kubectl top node
可通过该命令查看节点的资源使用情况,如下:
# product 表示生产环境
kubectl top node -l env=product# 执行结果
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
cn-beijing.192.16.168.102 904m 11% 10340Mi 69%
cn-beijing.192.16.168.103 1393m 17% 12810Mi 86%
cn-beijing.192.16.168.104 1994m 24% 13281Mi 89%
cn-beijing.192.16.168.105 987m 12% 9399Mi 63%
cn-beijing.192.16.168.115 638m 15% 12017Mi 80%
cn-beijing.192.16.168.118 806m 20% 9372Mi 62%
cn-beijing.192.16.168.135 258m 6% 9696Mi 65%
cn-beijing.192.16.168.136 871m 21% 10957Mi 73%
cn-beijing.192.16.168.137 310m 7% 9322Mi 62%
cn-beijing.192.16.168.138 943m 23% 11908Mi 80%
20、kubectl top pod
可通过该命令查看 Pod 资源使用情况,如下:
# product 表示生产环境
kubectl top pod -n product# 执行结果
NAME CPU(cores) MEMORY(bytes)
annoroad-alpha-5dbd868d-lsvj5 2m 383Mi
annoroad-applet-6f977779bc-2bgpn 3m 384Mi
annoroad-applet-6f977779bc-mgdhw 3m 387Mi
annoroad-applet-6f977779bc-qhqbg 2m 393Mi
annoroad-beta-7c4d7c654f-m4rkf 2m 334Mi
annoroad-clinicallims-67855bf4f5-9ddwd 4m 502Mi
annoroad-clinicallims-67855bf4f5-rdq2s 3m 488Mi
annoroad-clinicallims-67855bf4f5-vvrsn 3m 436Mi
annoroad-clinicallims-67855bf4f5-zhbvk 4m 509Mi
annoroad-clinicallims-67855bf4f5-zs65j 3m 420Mi
annoroad-clinicallims3-56d9c87786-2ftzq 3m 596Mi
21、kubectl get pod -o wide |grep $node
可通过该命令查看指定 node 上运行的所有 pod,如下:
# product 表示生产环境
kubectl get pod -n product -o wide |grep cn-beijing.172.15.14.128# 执行结果
annoroad-clinical-lims-8556cc6b76-57ctq 1/1 Running 6 20h 170.22.11.23 cn-beijing.172.15.14.128 <none> <none>
annoroad-covid19-front-fdd7469ff-pg2hm 1/1 Running 0 29d 170.22.11.20 cn-beijing.172.15.14.128 <none> <none>
annoroad-crm-7b9cd5c6c9-hj5s8 1/1 Running 0 10d 170.22.11.12 cn-beijing.172.15.14.128 <none> <none>
annoroad-crm-server-696d4f5867-77bdd 1/1 Running 2 29d 170.22.11.122 cn-beijing.172.15.14.128 <none> <none>
annoroad-gateway-55785fd8c-xlx4q 1/1 Running 0 88d 170.22.11.99 cn-beijing.172.15.14.128 <none> <none>
22、kubectl top pod |grep -E “ p o d n a m e 1 ∣ podname1| podname1∣podname2|…”
可通过该命令查看一个 pod 或几个 pod 的资源使用情况 ,如下:
# product 表示生产环境
kubectl top pod -n product |grep -E "annoroad-clinical-lims-8556cc6b76-57ctq|annoroad-covid19-front-fdd7469ff-pg2hm"# 执行结果
annoroad-clinical-lims-8556cc6b76-57ctq 74m 1216Mi
annoroad-covid19-front-fdd7469ff-pg2hm 1m 2Mi
23、查看带某标签的节点列表
kubectl get no -l ${label_name}
24、
相关文章:
Kubernetes 常用命令 持续更新
1、进入指定namespace pod kubectl exec -it --namespacekube-system g-lsb-proxy-nginx-r7zfl-2522744936-11rld /bin/sh kubectl exec -it g-lsb-proxy-nginx-r7zfl-2522744936-9tz5k -n kube-system /bin/bash2、查看k8s pod详情 kubectl describe pods -n jiankunking …...
达梦数据库常用命令行
导出dmp文件(迁移用) 管理工具在dmdbms下的tool文件夹下 使用tool目录下的manage程序,导出dmp文件 导入dmp文件 切到tool目录下 ./dimp 用户id/密码ip:5236 file"导入的文件路径(包括文件名)" 导入的模式(一般与库名…...
【通信系列 6 -- AT 命令介绍】
文章目录 1. 背景介绍1.2 AT的命令格式1.3 AT指令用法1.3.1 指令执行结果 1.2 CP 常用AT指令1.2.1 CP 模式设置1.2.2 网络相关1.2.3 IP获取1.2.4 Band 设置1.2.5 电话相关1.2.6 SIM卡检测1.2.7 cmwap 和cmnet1.2.8 AT 写 IMEI 1. 背景介绍 AT 命令一般分为三种: C…...
flask捕获@app.errorhandler/@app.after_request全局异常总结
捕获处理全局异常的方法有两种:app.errorhandler、app.after_request1、第一种的使用,需要将flask的debug开关打开才能生效(自动捕获异常),在config里面将DEBUG TRUE就可以(默认是False)。 但是…...
智能晾衣架丨以科技解放双手
以往的晾衣架大多是平放式、手摇式居多,为衣物的晾晒提供了一个“栖身之所。”随着科技的日新月异,智能家居的产品越来越多。晾衣架也不例外,一款带有语音控制升降、同时具备照明和消毒的多功能衣架也已深入生活,正被人们所接受。…...
asp.net饭店订餐管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio计算机设计定制
一、源码特点 asp.net 饭店订餐管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语 言开发 asp.net饭店订餐系统 二、功能介…...
Pushgateway的场景使用
1,Pushgateway简介 Pushgateway为Prometheus整体监控方案的功能组件之一,并做为一个独立的工具存在。它主要用于Prometheus无法直接拿到监控指标的场景,如监控源位于防火墙之后,Prometheus无法穿透防火墙;目标服务没有可抓取监控数据的端点等多种情况。在类似场景中,可通…...
时间范围配置(昨天,今天,本周,本月,本季度,本年)
ranges:{ ‘昨天’: [ moment(moment().subtract(1, ‘days’).format(‘YYYY-MM-DD 00:00:00’)) ,moment(moment().subtract(1, ‘days’).format(‘YYYY-MM-DD 23:59:59’))], ‘今天’: [ moment(moment().format(‘YYYY-MM-DD 00:00:00’)),moment( moment().format(‘YYY…...
PlantUML 绘图
官网 https://plantuml.com/zh/ 示例 绘制时序图 USB 枚举过程 PlantUML 源码 startuml host <-- device : device insert host note right : step 1 host -> device : get speed, reset, speed check note right : step 2 host -> device …...
spring boot自定义配置时在yml文件输入有提示
自定义一个配置类,然后在yml文件具体配置值时,一般不会有提示,这个解决这个问题 依赖 <!--自定义配置类,在yml文件写的时候会有提示--><dependency><groupId>org.springframework.boot</groupId><arti…...
Linux:I/O 5种模型
图片来源:https://pdai.tech/md/java/io/java-io-model.html...
企业提升效率的秘密武器,推荐J2L3x聊天软件!
随着企业竞争加剧,提高效率已成为每个企业都必须面对的挑战。然而,企业要想提高效率,仅仅依靠员工的努力往往难以取得显著的效果,因此,许多企业开始寻找适合自己的工具和软件来提高生产力。 有一种聊天软件与众不同&a…...
Android Termux安装MySQL,并使用cpolar实现公网安全远程连接[内网穿透]
文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身…...
如何有效管理公司分配给员工的个人微信,实现聚合聊天管理?
现在很多公司会在员工入职后,会把企业的微信账号分配给员工,让他们用微信与客户沟通业务。但这个过程有很多风险,比如不能实时掌握员工与客户的沟通情况,可能出现员工私自添加或删除重要客户,有的员工还会离职时带走公…...
【HTML5】语义化标签记录
前言 防止一个页面中全部都是div,或者ul li,在html5推出了很多语义化标签 提示:以下是本篇文章正文内容,下面案例可供参考 常用语义化案例 一般我用的多的是header,main,footer 这些标签不难理解&#x…...
数据结构———— 堆
(一)基础补充 满二叉树是每一层节点都放满的二叉树。 完全二叉树是只有最后一层节点右边不放满的二叉树。 满二叉树(Perfect Binary Tree) 如果二叉树中除了叶子结点,每个结点的度都为 2,则此二叉树称为满二叉树。另一种说法:一个深度为k(>=-1)且有2^(k+1) - 1个结…...
如何选择专业的游戏开发公司?
如果你想找一家专业的游戏开发公司,你可以采取以下步骤来寻找合适的合作伙伴: 定义项目需求:首先,明确你的游戏开发项目的需求和目标。确定你需要什么类型的游戏(移动游戏、PC游戏、主机游戏等)、游戏类型…...
Unity基础课程之物理引擎3-碰撞检测案例-吃金币并加分显在UI文本框上
业务逻辑💼: 这个脚本的主要功能是用于显示和更新主角的得分。在游戏中,玩家需要吃到金币来增加分数,而这个脚本就是负责将得分的变化实时显示在屏幕上的。 程序逻辑💻: 1️⃣首先,在脚本的开始…...
DAPLink V2 STLink V2 JLink V9.7 串口四合一仿真调试下载器
作者 风陵: github:https://github.com/ForlingTec CSDN:https://blog.csdn.net/weixin_42518229 化作尘: https://blog.csdn.net/mbs520 一、产品介绍 该产品是一款基于USB2.0接口支持多个公司及多种内核的仿真器/编程器,板载了USB H…...
使用PyTorch处理多维特征输入的完美指南
💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
