当前位置: 首页 > news >正文

学习笔记 k8s常用kubectl命令

k8s常用kubectl命令

  • pod 相关
    • 强制删除pod
    • 查看 Pod 中指定容器的日志
    • pod 扩容
  • etcd 备份
  • 集群
    • 设置集群上下文配置文件
    • 切换集群
  • 节点
    • cordon
    • drain

pod 相关

强制删除pod

pod 状态terminal了,需要强制删除

kubectl delete pod <pod_name> --grace-period=0 --force
kubectl delete pod test --grace-period=0 --force

查看 Pod 中指定容器的日志

如果 Pod 中有多个容器,你可以使用 -c 或 --container 选项指定要查看的容器的名称:

kubectl logs <pod_name> -c <container_name>
kubectl logs my-pod -c my-container

查看之前的日志
显示 Pod 上次运行时的日志

kubectl logs -p <pod_name> -c <container_name>
kubectl logs -p my-pod -c my-container

pod 扩容

Deployment 实现pod的扩容

kubectl scale deployment <deployment_name> --replicas=<desired_replica_count>
kubectl scale deployment my-deployment --replicas=3
kubectl get deployment

StatefulSet 的扩容

kubectl scale statefulset <statefulset_name> --replicas=<desired_replica_count>
kubectl scale statefulset my-statefulset --replicas=5
kubectl get statefulset

ReplicaSet 的扩容

kubectl scale replicasets <replicaset_name> --replicas=<desired_replica_count>
kubectl scale replicasets my-replicaset --replicas=4
kubectl get replicasets

Horizontal Pod Autoscaler(HPA)根据资源使用情况自动调整Pod的副本数量
当CPU利用率超过70%时,HPA将尝试增加Pod的数量,但最多不超过10个,最少不少于1个

kubectl autoscale deployment my-deployment --cpu-percent=70 --min=1 --max=10
kubectl get hpa

etcd 备份

定位 etcd 数据目录:
在大多数情况下,etcd 数据目录位于 /var/lib/etcd。你可以通过查看 etcd 的配置文件或系统服务来确认具体的数据目录。

etcdctl --endpoints=<etcd-endpoint> snapshot save <backup-file-name>
etcdctl --endpoints=http://localhost:2379 snapshot save /path/to/backup.db

备份包含证书的集群:

etcdctl --endpoints=<etcd-endpoint> --cacert=/path/to/ca.crt --cert=/path/to/client.crt --key=/path/to/client.key snapshot save <backup-file-name>

恢复备份:

etcdctl snapshot restore <backup-file-name> --data-dir /var/lib/etcd-from-backup

请注意,备份 etcd 数据是一个敏感的操作,建议在执行备份和恢复之前详细了解 etcd 的配置和集群状态。此外,确保备份是定期进行的,以便在需要时能够迅速恢复数据。

集群

设置集群上下文配置文件

设置 Kubernetes 配置文件(kubeconfig)中的上下文信息

kubectl config set-context CONTEXT_NAME --cluster=CLUSTER_NAME --user=USER_NAME --namespace=NAMESPACE_NAME#具体参数的含义如下:
#CONTEXT_NAME:要设置的上下文的名称。
#--cluster=CLUSTER_NAME:关联的集群名称。
#--user=USER_NAME:关联的用户名称。
#--namespace=NAMESPACE_NAME:关联的命名空间。

创建了一个名为 “my-context” 的上下文,该上下文与名为 “my-cluster” 的集群和名为 “my-user” 的用户关联,以及指定了默认的命名空间为 “my-namespace”:

kubectl config set-context my-context --cluster=my-cluster --user=my-user --namespace=my-namespace

切换到这个新创建的上下文

kubectl config use-context my-context

切换集群

一个集群上下文(Context)是一组集群、用户和命名空间的组合,用于标识 kubectl 操作的目标。
查看所有上下文

kubectl config get-contexts

切换到指定上下文

kubectl config use-context <context-name>
kubectl config use-context my-cluster-context

确认是否切换成功

kubectl config current-context

节点

  • cordon 主要用于禁用调度,不会影响已经运行的 Pod。
  • drain 则用于节点的优雅退役,它会逐个驱逐节点上的 Pod,并尝试在其他节点上重新调度。

cordon

  • kubectl cordon 用于禁用节点的调度禁用节点的调度,防止新的 Pod 被调度到该节点上。这不会影响已经运行在节点上的 Pod。这个命令可以用于临时地排除一个节点,以进行维护或故障排除,而不中断正在运行的工作负载。
kubectl cordon <node_name>

drain

  • kubectl drain 用于执行一个节点的优雅退役。它首先使用 cordon 将节点标记为不可调度,然后它会逐个驱逐节点上的 Pod。在驱逐 Pod 之前,它会尝试在其他节点上重新调度这些 Pod。这个命令常用于需要从节点上删除所有工作负载,以进行升级或退役节点时。
kubectl drain <node_name>

相关文章:

学习笔记 k8s常用kubectl命令

k8s常用kubectl命令 pod 相关强制删除pod查看 Pod 中指定容器的日志pod 扩容 etcd 备份集群设置集群上下文配置文件切换集群 节点cordondrain pod 相关 强制删除pod pod 状态terminal了&#xff0c;需要强制删除 kubectl delete pod <pod_name> --grace-period0 --force…...

企业数据可视化-亿发数据化管理平台提供商,实现一站式数字化运营

近些年来&#xff0c;国内企业数据化管理升级进程持续加速&#xff0c;以物联网建设、人工智能、大数据和5G网络等新技术的发展&#xff0c;推动了数字经济的蓬勃发展&#xff0c;成为维持经济持续稳定增长的重要引擎。如今许多国内中小型企业纷纷摒弃传统管理模式&#xff0c;…...

网络通信-Linux 对网络通信的实现

Linux 网络 IO 模型 同步和异步&#xff0c;阻塞和非阻塞 同步和异步 关注的是调用方是否主动获取结果 同步:同步的意思就是调用方需要主动等待结果的返回 异步:异步的意思就是不需要主动等待结果的返回&#xff0c;而是通过其他手段比如&#xff0c;状态通知&#xff0…...

mysql修改密码

mysql -u root -p ALTER USER USER() IDENTIFIED BY root; FLUSH PRIVILEGES; 其它cmd&#xff1a; ①查看端口&#xff0c;找到占用3306端口的进程&#xff1a;命令行输入 netstat -aon &#xff0c;找到端口号为3306的对应的PID ②结束占用端口3306的进程&#xff1a;命令…...

深入解析C语言中void (*signal(int ,void(*)(int) ) ) (int)

目录 深入解析C语言中的signal函数声明 1. signal函数声明 1.1 signal是一个函数 1.2 返回类型是一个函数指针 2. 函数指针的理解 3. 简化声明使用typedef 为啥不这么写typedef void (*)(int) acc&#xff1f; 代码&#xff1a; 结论 深入解析C语言中的signal函数声明…...

网站显示不安全警告怎么办?消除网站不安全警告超全指南

网站显示不安全警告怎么办&#xff1f;当用户访问你的网站&#xff0c;而您的网站没有部署SSL证书实现HTTPS加密时&#xff0c;网站就会显示不安全警告&#xff0c;这种警告&#xff0c;不仅有可能阻止用户继续浏览网站&#xff0c;影响网站声誉&#xff0c;还有可能影响网站在…...

[SWPUCTF 2021 新生赛]finalrce

[SWPUCTF 2021 新生赛]finalrce wp 注&#xff1a;本文参考了 NSSCTF Leaderchen 师傅的题解&#xff0c;并修补了其中些许不足。 此外&#xff0c;参考了 命令执行(RCE)面对各种过滤&#xff0c;骚姿势绕过总结 题目代码&#xff1a; <?php highlight_file(__FILE__); …...

如何底层调用最快地复制OPC数据到关系数据库

计算机上的二大应用&#xff0c;一是从WEB服务器上获得数据&#xff0c;另一种是向关系数据库中写入数据。在上集我已提出了一个从WEB上获得OPC数据的独创方法&#xff0c;现在谈谈第二种如何快速地把OPC数据写进到数据库中&#xff0c;这也是Calssic OPC最典型的一个应用场景。…...

接口测试工具——ApiFox使用初体验 postman导出和ApiFox导入

目录 ApiFox使用初体验初步使用从postman导出到apifox导入 IDEA简单测试Postman测试工具post请求 接口测试工具swaggerKnife4j1.引入依赖2.配置3.常用注解4.接口测试 JMeter什么是JMeter?JMeter安装配置1.官网下载2.下载后解压3.汉语设置 JMeter的使用方法1.新建线程组2.设置参…...

搜维尔科技:经脉腧穴虚拟针灸VR虚拟教学平台AcuMap软件案例分享

北京中医药大学经脉腧穴VR虚拟教学平台案例 主要产品 HTCvive &#xff0c;AcuMap&#xff1b; 实施内容 一、项目说明 &#xff08;1&#xff09;穴位取穴与体表解剖标志关系&#xff1b;&#xff08;2&#xff09;穴下层次解剖及周围解剖结构展示&#xff1b; &#xf…...

Jenkins的shared library相关

Jenkins的shared library是一种用于在多个Jenkins流水线项目中共享和重用代码的机制。它可以将常用的构建逻辑、工具函数或自定义步骤封装为可复用的库&#xff0c;并以插件的形式提供给Jenkins。 Shared library的作用主要包括以下几个方面&#xff1a; 代码复用&#xff1a…...

文件IO

文章目录 文章目录 前言 一 . 文件 文件路径 文件类型 Java中操作文件 File 概述 属性 构造方法 方法 createNewFile mkdir 二 . 文件内容的读写 - IO InputStream 概述 FileInputStream 概述 利用 Scanner 进行字符读取 OutputStream 概述 PrintWriter封装O…...

【日常聊聊】编程语言的未来:趋势、多样性、人工智能融合、教育与生态系统

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; 日常聊聊 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言&#xff1a; 正文 1. 编程语言的发展趋势 1.1 新语言和编程范式的涌现 1.2 影响和挑战 2. 编程语言的多样性 2.1 互操作性和可移…...

无需手动搜索!轻松创建IntelliJ IDEA快捷方式的Linux教程

轻松创建IntelliJ IDEA快捷方式的Linux教程 一、IntelliJ IDEA简介二、在Linux系统中创建快捷方式的好处三、命令行创建IntelliJ IDEA快捷方式四、图形界面创建IntelliJ IDEA快捷方式五、常见问题总结 一、IntelliJ IDEA简介 IntelliJ IDEA是一个由JetBrains搞的IDE&#xff0…...

如何去掉微博水印?用它一键去除三秒出图

微博是一款非常流行的社交媒体平台&#xff0c;许多人都在上面分享自己的生活点滴和心得体会。但是&#xff0c;有时候我们会发现&#xff0c;在上传图片时&#xff0c;微博会自动添加水印&#xff0c;这会影响到图片的美观度。那么&#xff0c;如何去掉微博水印呢&#xff1f;…...

Golang 泛型实现原理

文章目录 1.什么是泛型&#xff1f;2.有 interface{} 为什么还要有泛型&#xff1f;3.泛型有哪些特性?3.1 类型参数泛型函数泛型类型 3.2 类型约束3.3 类型集3.4 约束元素任意类型约束元素近似约束元素联合约束元素约束中的可比类型 3.5 类型推断 4.实现原理4.1 类型擦除虚方法…...

[玩转AIGC]LLaMA2之如何微调模型

目录 1、下载训练脚本2、 下载模型2.1、申请下载权限2.2、模型下载 3、模型微调3.1、使用单卡微调3.2、使用多卡训练&#xff1a; 1、下载训练脚本 首先我们从github上下载Llama 2的微调代码&#xff1a;GitHub - facebookresearch/llama-recipes: Examples and recipes for L…...

使用克魔助手进行iOS数据抓包和HTTP抓包的方法详解

摘要 本文博客将介绍如何在iOS环境下使用克魔助手进行数据抓包和HTTP抓包。通过抓包&#xff0c;开发者可以分析移动应用程序的网络请求发送和接收过程&#xff0c;识别潜在的性能和安全问题&#xff0c;提高应用的质量和安全性。 引言 在移动应用程序的开发和测试过程中&am…...

【递归 回溯】LeetCode-301. 删除无效的括号

301. 删除无效的括号。 给你一个由若干括号和字母组成的字符串 s &#xff0c;删除最小数量的无效括号&#xff0c;使得输入的字符串有效。 返回所有可能的结果。答案可以按 任意顺序 返回。 示例 1&#xff1a; 输入&#xff1a;s "()())()" 输出&#xff1a;[…...

C++ 基本的输入输出

C 标准库提供了一组丰富的输入/输出功能&#xff0c;我们将在后续的章节进行介绍。本章将讨论 C 编程中最基本和最常见的 I/O 操作。 C 的 I/O 发生在流中&#xff0c;流是字节序列。如果字节流是从设备&#xff08;如键盘、磁盘驱动器、网络连接等&#xff09;流向内存&#…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...