⚡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…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...