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

k8s中常用命令总结

文章目录

  • 进入pod容器的命令
    • pod中只有1个用户容器
    • pod中只有2个(含)以上用户容器
  • yaml中的字段不清楚后面跟什么,通过explain来查看
  • 查看pod内指定容器的日志
  • Pod内各个容器的服务端口不能相同
  • 资源对象的创建
    • 方式一
    • 方式二
  • 查看pod的详细信息
  • 查看yaml文件的创建后的资源对象的信息
  • 查看pod的事件信息(pod状态异常时有用)
  • 查看node的详情信息
  • 删除pod的方式

进入pod容器的命令

可选项:-c, --container='': 容器的名字. 如果忽略, 默认是进入pod中的第一个容器-p, --pod='': Pod的名字 (-p 可以省略 后面直接跟 pod的名字)-i, --stdin=false: 传递标准输入到容器中-t, --tty=false: 标准输入是一个终端-n, --namespace string  如果存在, 命令行请求的命名空间作用范围

pod中只有1个用户容器

	只有一个容器时,进入时不需要指定容器,# 例如 test-pod 为pod名称
kubectl exec -it test-pod -n test -- /bin/sh

pod中只有2个(含)以上用户容器

当有多个容器时就必须加上指定容器(否则默认进入第一个容器),
因此需要明确指定你想进入的容器名称
kubectl exec -it test-pod -c mysql -n test -- /bin/sh
exec:表示在容器内执行命令
-- /bin/sh:表示在容器内打开一个shell终端

遇到的问题:
kubectl exec -it -p mysql-n6tc2 -c mysql -n default – /bin/sh
提示:-p POD_NAME is DEPRECATED and will be removed in a future version. Use exec POD_NAME instead。
意思大概说的是 将来的版本不再 支持 -p pod名字 ,使用 exec pod名字来代替。

kubectl exec -it -c mysql -n default – /bin/sh #错误,会报错
提示:error: expected ‘exec POD_NAME COMMAND [ARG1] [ARG2] … [ARGN]’.
POD_NAME and COMMAND are required arguments for the exec command (意思是说对于exec命令来说 POD的名字和 命令是必须的)
See ‘kubectl exec -h’ for help and examples.

kubectl exec -h #查看exec后面可以跟什么命令或参数 -h 是 -help的缩写
Usage:
kubectl exec POD [-c CONTAINER] – COMMAND [args…] [options]

yaml中的字段不清楚后面跟什么,通过explain来查看

kubectl explain pods.spec.volumes.emptyDir
kubectl explain pods.spec.containers.command

查看pod内指定容器的日志

和kubectl exec 一样,如果一个pod内存在多个容器时,需要通过 -c 指定容器名
kubectl logs test-pod -c nginx-1    #test-pod是pod名称   nginx-1是容器名称

如果存在多个容器,不指定 -c的话,会报以下错误:
#error: a container name must be specified for pod redis-php, choose one of: [frontend redis-master] 意思大概是:必须为pod名为redis-php的pod,指定一个容器名,可选择的容器为 frontend 和 redis-master。

Pod内各个容器的服务端口不能相同

1.注意不能在同一个Pod中创建两个使用相同端口的容器,因为同一个pod内容器之间的访问是通过localhost:端口/接口名的方式,即共享网络栈。pod有自己的ip,但是pod内的容器没有自己的独立ip。公用pod的ip。

2.同一个node里的不同pod之间是隔离的(类似于直接通过docker命令 在虚拟机或物理机上创建的容器)。而同一个pod内的不同容器之间是不隔离的,会共享ip,数据卷等资源。
3.k8s管理调度的最小单元是pod,不是pod内的各个容器。

4.一般情况下一个pod内只有一个用户容器,只有当一组容器有紧密联系时,才把这组容器放到一个pod里。

资源对象的创建

方式一

 kubectl create -f  xxxx.yaml用于创建 Kubernetes 对象。如果对应的资源已经存在,则会返回错误,此时需要先删除原有的资源对象,然后再执行创建操作。如果资源对象不存在,则会自动创建对应的资源对象
kubectl replace -f pod1.yaml --force

这种先使用 kubectl create 命令,修改yaml配置文件后,然后再使用 kubectl replace 命令的操作,称为命令式配置文件操作。
命令执行完成后,名为 pod1 的 Pod 会被删除后再新建

例如:
[root@k8s-master k8s]# kubectl replace -f frontend-localredis-pod.yaml --force
pod “redis-php” deleted
pod/redis-php replaced

方式二

kubectl apply -f  xxxx.yaml
用于创建或更新一个 Kubernetes 对象。如果该资源对象已经存在,则会首先尝试更新对应的字段值和  
配置,如果不存在则会自动创建资源对象。
kubectl apply -f pod1.yaml 修改yaml配置文件后
再次使用 kubectl apply 命令更新 Pod。
命令执行完成后,名为 pod1 的 Pod 不会删除后再新建,也不会另外创建新 Pod。只会在原 Pod 基础     
上进行内部配置修改。

注意:由 kubectl apply 命令创建的 Pod,可以修改对应的 YAML 文件来修改 Pod中的参数。但不能修改metadata.name(Pod名),否则将重新创建一个新 Pod。

kubectl create -f 适用于初始化资源对象的场景;
而kubectl apply -f 则更加适合更新和修改已有的资源对象,因为它会对比新的 YAML 配置文件和已有的资源对象配置,只更新需要更新的部分,而不会覆盖已有的全部配置

查看pod的详细信息

kubectl get pods -n 命名空间  # 查看指定命名空间下的pod
kubectl get pods -o wide  # 显示pod的IP地址及Pod所在的Node节点机器主机名称
kubectl get pods -A  # 显示所有命名空间下的pod信息,并在第一列展示命名空间
kubectl get pods # 不指定命名空间,则只显示默认 default,等价于 kubectl get pods -n default
kubectl get pods -A -o wide  #显示的比较全的信息命令组合

查看yaml文件的创建后的资源对象的信息

kubectl -n default get pod -o yaml redis-php

查看pod的事件信息(pod状态异常时有用)

kubectl describe pod POD名称   #pod启动失败 就看这个的事件日志就行

查看node的详情信息

kubectl describe node node名称或者node的地址  #查看node的详情信息

删除pod的方式

kubectl delete pod pod名称

kubectl delete -f vmware-nginx.yaml #创建pod的资源配置文件
都可以实现删除pod

相关文章:

k8s中常用命令总结

文章目录 进入pod容器的命令pod中只有1个用户容器pod中只有2个(含)以上用户容器 yaml中的字段不清楚后面跟什么,通过explain来查看查看pod内指定容器的日志Pod内各个容器的服务端口不能相同资源对象的创建方式一方式二 查看pod的详细信息查看…...

Logistic map混沌掩盖信号

开学接触了一些有关混沌知识的学习,阅读量一些混沌通信的论文,对于混沌掩盖信号以确保加密通信有一定的兴趣。混沌的产生我选用的是logistic map映射产生混沌,主要就是一个递推公式: 对于这样一个式子,可以看出&#x…...

外包干了2个月,技术有明显退步...

先说一下自己的情况,本科生,18年通过校招进入广州某软件公司,干了接近3年的功能测试,今年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!可我已经在一个企业干了3年的功能测试&…...

顺序表和链表

顺序表和链表 一.线性表二.顺序表三.链表链表的分类单链表的实现双链表的实现 四.顺序表和链表的区别和联系 一.线性表 常见的线性表:顺序表、链表、栈、队列、字符串 线性表在逻辑上是线性结构,也就说是连续的一条直线,但是在物理结构上并不…...

k8s--架构基础--云控制器管理器

具体来说,云控制器管理器允许用户将集群与云服务提供商的 API 进行连接,以获取与云平台相关的信息和资源。通过这种连接,Kubernetes 可以利用云服务提供商的功能和特性,例如虚拟机、负载均衡器、对象存储等。与此同时,…...

OpenAI 更新 ChatGPT:支持图片和语音输入【附点评】

一、消息正文 9月25日消息,近日OpenAI宣布其对话AI系统ChatGPT进行升级,添加了语音输入和图像处理两个新功能。据OpenAI透露,这些新功能将在未来两周内面向ChatGPT Plus付费用户推出,免费用户也将很快可以使用这些新功能。这标志着ChatGPT继续朝着多模态交互的方向发展,为用户提…...

数据结构:堆的简单介绍

目录 堆的介绍:(PriorityQueue) 大根堆:根节点比左右孩子节点大 小根堆:根节点比左右孩子节点小 堆的存储结构: 为什么二叉树在逻辑上用满二叉树结构,而不是普通二叉树呢? 因为如果是普通二叉树会造成资源的浪费​编辑 堆的介绍:(PriorityQueue) 堆又称优先级队列,何为优先…...

【LeetCode-中等题】654.最大二叉树

文章目录 题目方法一:递归 题目 方法一:递归 class Solution {int[] num null; public TreeNode constructMaximumBinaryTree(int[] nums) {num nums;return myTree(0,num.length-1);}public TreeNode myTree( int begin , int end){if(begin > end…...

基于微信小程序的刷题考试系统设计与实现(适用于各类考试类、答题类程序)

文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…...

用Java打印长方形、平行四边形 、三角形、菱形、空心菱形

今天复习使用嵌套for来完成一些任务,于是想着打印一些图形来练习 思考感悟 长方形 行数 和 每行的星星数嵌套遍历即可 平行四边形 核心:每行空格数总行数-行数 行数空格数132231 三角形 核心:每行星星数2*当前行数-1 行数星星数1123…...

es6模块化,怎么判断当前文件使用的是es6的模块化还是commenjs的模块化

es6的模块化,文件中的this,指向undefined,不是指向window import.meta - JavaScript | MDN...

Ubuntu 基础配置

源配置 源路径: /etc/apt/sources.list aliyun源 20.04 deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.a…...

CISSP学习笔记:人员安全和风险管理概念

第二章 人员安全和风险管理概念 2.1 促进人员安全策略 职责分离: 把关键的、重要的和敏感工作任务分配给若干不同的管理员或高级执行者,防止共谋工作职责:最小特权原则岗位轮换:提供知识冗余,减少伪造、数据更改、偷窃、阴谋破坏和信息滥用的风险&…...

ubuntu18.04 OpenGL开发(显示YUV)

源码参考:https://download.csdn.net/download/weixin_55163060/88382816 安装opengl库 sudo apt install libglu1-mesa-dev freeglut3-dev mesa-common-dev 安装opengl工具包 sudo apt install mesa-utils 检查opengl版本信息(桌面终端执行&#xff09…...

React(react18)中组件通信06——redux-toolkit + react-redux

React(react18)中组件通信06——redux-toolkit react-redux 1 前言1.1 redux 和 react-redux1.2 关于redux-toolkit1.2.1 官网1.2.2 为什么要用Redux Toolkit? 1.3 安装 Redux Toolkit1.4 Redux Toolkit相关API 2. 开始例子——官网例子2.1 …...

第七章 查找 九、B+树

目录 一、定义 二、B树需要满足的条件 三、重要考点 一、定义 1、B树是一种常用的数据结构,用于实现关系型数据库中的索引。 2、其特点是可以在磁盘等外存储器上高效地存储大量数据,并支持快速的查询、插入、删除等操作。 3、B树的结构类似于二叉搜…...

XPD911协议系列-集成同步降压多口互联控制器

产品描述: XPD911 是一款集成 USB Type-C、USB Power Delivery(PD) 3.1 以及 PPS、 QC3.0/3.0 /2.0 快充协议、华为 FCP/SCP/HVSCP 快充协议、三星 AFC 快充协议、VOOC 快充协议、MTK PE 快充协议、BC1.2 DCP 以及苹果设备 2.4A 充电规范的多…...

数字反转(蓝桥杯)

数字反转 题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见实例 2)。 输入描述 输入共 1 行&…...

十一.EtherCAT开发之microchip MCU D51+ LAN9253 的开发FOE应用(SPI directly 模式)

十一.EtherCAT开发之microchip MCU D51+ LAN9253 的开发FOE应用(SPI directly 模式) 文章目录 十一.EtherCAT开发之microchip MCU D51+ LAN9253 的开发FOE应用(SPI directly 模式)11.0 软件更新方式11.1 SSC TOOL配置11.2 MCU D51 FOE函数支持11.2.1 下载download11.2.2 上传up…...

【分布式计算】二、架构(Architectures)

1.中心化架构(Centralized Architectures) 1.1.经典C/S模型 服务器:一个或多个进程提供服务 客户端:一个或多个进程使用服务 客户端和服务器可以在不同的机器上 客户端遵循请求/回复模型 1.2.传统三层视图 用户界面层&#x…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

Mysql故障排插与环境优化

前置知识点 最上层是一些客户端和连接服务&#xff0c;包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念&#xff0c;为通过安全认证接入的客户端提供线程。同样在该层上可…...