⚡4. Kubernetes核心资源管理操作实战
文章目录
- `kubectl [command] [TYPE] [NAME] [flags]`
- `kubectl run 资源名称 --image=镜像名称 --port=端口号`
- `kubectl create -f 配置文件名称.yaml` `kubectl apply -f 配置文件名称.yaml`
- 快速编写yaml文件,通过命令导出新的yaml文件
- Kubernetes常见资源类型和缩写
kubectl [command] [TYPE] [NAME] [flags]
- commad:对资源具体的操作,如create创建、 get获取 、 delete删除
- TYPE:指定资源类型,大小写敏感
- NAME:指定资源的名称,大小写敏感,如果省略名称则显示所有资源
- flags:指定可选的参数,如可用-s或者-server指定Kubernetes API server的地址和端口
example:
#获取全部节点
kubectl get node#获取全部pod
kubectl get pod#查看某个pod内容
kubectl get pod pod_name#获取全部名称空间
kubectl get ns#查看创建的资源
kubectl get pod,svc,deploy# 删除nginx pod,如果是靠deploy控制器创建的pod, 直接删除则会自动创建新的;
kubectl delete pod pod名称# 如果需要删除则直接删除depoly控制器即可,pod会被删除
kubectl delete deploy xdclass-nginx
kubectl delete svc xdclass-nginx
kubectl run 资源名称 --image=镜像名称 --port=端口号
kubectl run xdclass-nignx-pod --image=nginx:1.23.0 --port=80kubectl create deployment xdclass-nginx --image=nginx:1.23.0
kubectl create -f 配置文件名称.yaml
kubectl apply -f 配置文件名称.yaml
yaml 例子:
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deploymentlabels:app: nginx-deployment
spec:replicas: 1selector:matchLabels:app: nginx-podtemplate:metadata:labels:app: nginx-podspec:containers:- name: nginximage: nginx:1.23.0imagePullPolicy: IfNotPresentports:- containerPort: 80
apiVersion: v1
kind: Pod
metadata:name: nginx
spec:containers:- image: nginx:1.23.0name: podports:- name: nginx-portcontainerPort: 80protocol: TCP
**kubectl create 和 kubectl apply的区别: **
- kubectl create 命令首次执行时会创建资源,当再次执行的时候会报错,因为资源名称在同一命名空间内是唯一的
- kubectl apply在首次执行的时候也会创建对应的资源,当再次执行的时候会根据配置文件进行升级、扩容等操作,即使配置文件没有变化也不影响
快速编写yaml文件,通过命令导出新的yaml文件
#创建nginx资源文件并且不启动资源
kubectl create deployment xdclass-nginx --image=nginx:1.23.0 -o yaml --dry-run=client > nginx.yaml#查看nginx.yaml
cat nginx.yaml
pod的yaml文件示例:
# pod的最基础的yaml文件最少需要以下的几个参数
apiVersion: v1 # API版本号,注意:具有多个,不同的对象可能会使用不同API
kind: Pod # 对象类型,pod
metadata: # 元数据name: string # POD名称namespace: string # 所属的命名空间
spec: # specification of the resource content(资源内容的规范)containers: # 容器列表- name: string # 容器名称image: string # 容器镜像
必须存在的属性
参数名 | 字段类型 | 说明 |
---|---|---|
version | String | k8s API的版本,可使用kubectl api-versions命令查询 |
kind | String | 这里指定k8s资源的类型,比如Pod、Deployment |
metadata | Object | 元数据对象,固定写值metadata |
metadata-name | String | 元数据对象的名字,比如命名pod的名字 |
metadata-namespace | String | 元数据对象的命名空间 |
spec | Object | 详细定义对象,固定值写Spec |
spec.container[] | list | spec对象的容器列表定义 |
spec.container[].name | String | 容器对象的名字 |
spec.container[].image | String | 定义要用到的对象名称 |
Kubernetes常见资源类型和缩写
:::warning
常用资源分类和缩写
- 节点 nodes ,缩写 no
- 名称空间 namespaces,缩写ns
- pod资源 pods, 缩写 po
- pod控制器
- replicasets,缩写rs
- deployments,缩写 deploy
- 服务发现
- 统一pod对外接口 services ,缩写 svc
- 统一pod对外接口ingress ,缩写 ing
- 存储资源
- persistentvolumes,缩写pv
- persistentvolumeclaims,缩写pvc
:::
常用资源操作命令
命令分类 | 命令 | 翻译 |
---|---|---|
基本命令 | create | 创建资源 |
delete | 删除资源 | |
edit | 编辑资源 | |
get | 获取资源 | |
patch | 更新资源 | |
explain | 解释资源 | |
运行和调试 | run | 运行指定的镜像 |
expose | 暴露服务 | |
describe | 描述资源内部信息 | |
logs | 打印容器在 pod 中的日志 | |
attach | 进入运行中的容器 | |
exec | 执行容器中的一个命令 | |
cp | 在Pod内外复制文件 | |
scale | 扩容/缩容Pod的数量 | |
autoscale | 扩容/缩容Pod的数量 | |
高级命令 | apply | rc |
label | 标签 | |
其他命令 | cluster-info | 集群信息 |
version | 版本 |
相关文章:
⚡4. Kubernetes核心资源管理操作实战
文章目录 kubectl [command] [TYPE] [NAME] [flags]kubectl run 资源名称 --image镜像名称 --port端口号kubectl create -f 配置文件名称.yaml kubectl apply -f 配置文件名称.yaml快速编写yaml文件,通过命令导出新的yaml文件Kubernetes常见资源类型和缩写 kubectl …...
【Wireshark 抓 CAN 总线】Wireshark 抓取 CAN 总线数据的实现思路
最近看到一个帖子 Wireshark 对接 Windows 系统命名管道,抓取数据 我突然想到一个很有意思的方式 你没看错 用 Wireshark 来抓取 CAN 总线数据 【其实 Wireshark 上有 CAN 总线的的解码器,不信你可以在表达式栏打 can 试下,是有这个解码器的】…...

Linux网络编程3
并发服务器 1.TCP多进程并发服务器 服务器端: 客户端: 2.TCP多线程服务器 服务器端: 客户机端: 需要学习的函数还有 1. send() 函数 send() 函数用于在套接字上发送数据。它是网络编程中发送数据到对端的主要函数之一。 函数…...

gitlab 服务器安装
阿里云盘快传 百度链接 链接:https://pan.baidu.com/s/1Gn5bWHi45Dcpe1RH1S06dw 提取码:yai2 然后就是有一台服务器 cd /mkdir gitlab上传下载好的东西rpm -ivh gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm 这里可以tab提示vim /etc/gitlab/gitlab.rb我建议…...

【pytorch】全连接网络简单二次函数拟合
下面是一个使用PyTorch实现全连接网络来拟合简单二次函数 y x 2 y x^2 yx2 的示例。我们将创建一个简单的神经网络,定义损失函数和优化器,并进行训练。 下面是完整的代码示例: import torch import torch.nn as nn import torch.optim …...
git提交到本地仓库了,怎么撤回
如果你想要撤回已经提交到本地仓库的更改,可以使用以下一些Git命令: 1. **撤回最后一次提交** (不保留更改): - git reset --hard HEAD~1:这会撤销最后一次提交,并且所有的更改都会丢失。 2. **撤回最后一次提交** (保留更改…...

lua学习(1)
vscode打开c或者lua文件 插件显示禁用,怎么开启插件。 1. lua 字符串 单个引号和双引号都可变量的定义默认是全局的删除一个变量将其赋值为nil即可 如: bnilnil还可以对表中的数据进行删除,也可删除一个表只要变量不是nil,变…...

SQL报错注入之updatexml
目录 1.updatexml报错原理 2.判断是否有注入点 我们在地址栏中输入?id1 我们在地址栏中输入?id1-- 3.updatexml报错注入 3.1爆库名 3.2爆表名 3.3爆字段名 3.4爆数据 1.updatexml报错原理 updatexml(xml_doument,XPath_string,new_value) 第一个参数:XML…...
单元测试的重要性
单元测试和测试驱动开发(TDD)是软件开发中的关键实践,它们有助于提高代码的质量和可维护性。以下是对单元测试和TDD的深入分析,以及如何使用Java中的测试框架来提高代码质量的指南。 单元测试的重要性 单元测试是针对程序中最小…...
mysql线上查询数据注意锁表问题
在数据库中,锁定是用来控制多个事务并发访问相同数据时的一种机制。正确的锁定机制可以保证数据的一致性和完整性,但如果不当使用,也可能导致阻塞和死锁,特别是在高并发环境中。长时间的锁等待不仅会影响当前的事务,还…...

UE5 右键菜单缺少Generate Visual Studio project files
前言 在安装完毕 ue5 后,看到别人右键菜单有 多出来的三个选项 ,但是我却没有,如下图: 解决方式 1、在 “C:\Program Files (x86)\Epic Games\Launcher\Engine\Binaries\Win64” 路径下有 UnrealVersionSelector.exe 文件。 …...
前端性能优化-webpack构建优化
前言 本文主要总结 webpack 构建优化相关的事情 PS: webpack 的每次更新都会带来很多的新特性,因此学习新知识的时候,不要专注于流程的配置和调参。因为流程终会简化,参数(API)终会升级。要抓大放小,把精力…...
Traefik:部署与实战
一、介绍Traefik Traefik是一个开源的反向代理和负载均衡器,专为现代化的微服务架构设计。它可以与各种容器化平台(如Docker、Kubernetes)和服务发现工具(如Consul、Etcd)集成,使部署和管理服务变得更加简…...

[Spring] SpringBoot统一功能处理与图书管理系统
🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…...
实现吸顶效果,一个页面多个元素吸顶效果
前言 新业务开发用到了吸顶效果而且是一个页面滚动到不同的位置不同的元素进行吸顶叠加。我是基于uniapp去写的,原理思路都一样 代码部分 下面的代码我写了两种方法都是一样的一个是通过js控制变量添加元素一个是直接通过css样式进行控制 <!-- 上半部总览位置…...

【C++入门(下)】—— 我与C++的不解之缘(二)
前言 接上篇,继续来学习C,本篇内容大概有 引用,inline 和 nullptr。 六、引用: 6.1、引用的定义 引用不是新定义一个变量,而是给已存在的变量取了一个别名,编译器不会为引用变量开辟内存空间,它…...

【数据结构】哈希应用-STL-位图
目录 1、位图的概念 2、位图的设计与实现 2.1 set 2.2 reset 2.3 test 3、C库中的位图 4、位图的优缺点 5、位图相关题目 1、位图的概念 面试题:给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这4…...

Unbuntu 服务器- Anaconda安装激活 + GPU配置
一、Anaconda安装激活 1.更新 sudo apt-get update 2.安装wget、vim sudo apt-get install wget sudo apt-get install vim 3.安装Anaconda 进入这个网址:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 点这里&#x…...
python 装饰器记录函数用时
装饰器 # 用于记录函数平均用时的装饰器 def average_time_decorator(func):times []def wrapper(*args, **kwargs):start_time time.time()result func(*args, **kwargs)end_time time.time()t end_time - start_timetimes.append(t) # 记录用时print(f"{func.__n…...
实验10 任何一个非0自然数m的立方均可写成m个连续奇数之和。
实验10 题目描述 任何一个非0自然数m的立方均可写成m个连续奇数之和。 例如: 1^3 1 2^3 35 3^3 7911 4^3 13151719 编程实现:输入一自然数n,求组成心的n个连续奇数。 【实验要求】 1、不允许用等差数列的方法求首项 2、要求使用双重循环&a…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...