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

k8s之陈述式资源管理

1.kubectl命令

kubectl version 查看k8s的版本

kubectl api-resources 查看所有api的资源对象的名称

kubectl cluster-info 查看k8s的集群信息

kubectl get cs 查看master节点的状态

kubectl get pod 查看默认命名空间内的pod的信息

kubectl get ns 查看当前集群所有的命名空间

kubectl get pod -n kube-system 查看指定的命名空间内的pod 需要加-n

kubectl get pod -o wide 查看默认命名空间内pod的详细信息

kubectl get pod -n kube-system -o wide 查看指定命名空间的详细信息

kubectl get pod -o wide -n kube-system 查看指定命名空间的详细信息

kubectl get node 查询节点的信息和状态

kubectl get node -o wide 查看node节点的详细信息

kubectl get pod

kubectl describe pod nginx-6799fc88d8-4kv8x 查看已经部署好的pod的详细信息

kubectl get ns

kubectl get pod -n kube-system

kubectl describe pod -n kube-system etcd-master01 查看命名空间里的pod的详细信息

kubectl logs nginx-6799fc88d8-4kv8x 查看pod的日志

kubectl logs -f nginx-6799fc88d8-4kv8x 动态查看pod的日志

kubectl logs -f etcd-master01 -n kube-system 查看不同命名空间里的pod日志

kubectl create ns guoqi 创建命名空间

kubectl get ns 查看命名空间

kubectl delete ns guoqi 删除指定命名空间

kubectl delete pod nginx-6799fc88d8-4kv8x 删除指定pod

###

先声明动作: create delete get 对象 ns pod service 对象名称 guoqi nginx nginx1 nginx2

###

2.deployment 的部署pod

陈述式部署:命令行

声明式:yaml文件部署

滚动更新:不是一次性的把所有pod全部部署,而是一个个来。pod的更新时使用,逐步的引入新的pod,逐步的减少旧的pod

自我修复:如果有pod节点发送故障,deployment会自动启动新的pod来进行代替

回滚:如果更新有问题,deployment会提供还原点,可以手动还原到未更新前的状态

扩容和缩容:deployment可以随时调整pod的数量,以适应流量的变化。

上述的功能必须是基于deployment创建的服务才可以,绝大多数的pod都是使用deployment创建的

kubectl get deployment.apps -n kube-system 查询命名空间通过deployment创建的pod

kubectl get daemonset.apps -n kube-system

##

daemonset 不能通过命令行创建,只能在yaml文件当中定义这种创建方式

后台运行创建,在每个节点上都创建一个相同方式的,相同版本的容器运行的pod

一般都是依赖环境和重要组件,一般也不会对这些资源进行操作

kubectl create deployment nginx-dn --image=nginx --replicas=3

kubectl create ns guoqi

kubectl create deployment nginx-dn --image=nginx --replicas=3 -n guoqi

kubectl get pod -n guoqi

如果是基于deployment方式创建的pod,或者是daemonset创建的pod,是由控制器创建的pod,是由delete删除pod是删除不掉的,相当于重启pod

kubectl delete deployment.apps nginx-guoqi -n guoqi

kubectl get pod -n guoqi

基于deployment方式创建pod,一旦删除的deployment,基于deployment,基于这个deployment创建的pod都睡删除,慎用)

3.远程进入节点容器

kubectl get pod -o wide

kubectl exec -it nginx-6799fc88d8-8jbcr bash

##docker的exec只能在本机内部使用,不能跨主机。kubectl exec 跨主机进入容器

kubectl create deployment nginx --image=nginx -n guoqi

kubectl get pod -n guoqi -o wide

kubectl exec -it nginx-6799fc88d8-s59sn -n guoqi bash

kubectl delete pod nginx-6799fc88d8-vnc4h --force --grace-period=0

##

grace-period:表示过度存活周期,默认是30秒,可以让pod快速的结束容器内的进程,然后退出pod

=0 表示立刻停止pod 必须要force

## 主要用于结束卡在销毁状态的pod

对deployment创建的pod进行扩容

kubectl scale deployment nginx-guoqi --replicas=3 扩容

kubectl scale deployment nginx-guoqi --replicas=1 缩容

把服务的service进行发布

kubectl get svc 查看当前服务

kubectl delete svc nginx 删除服务

4.service的类型

ClusterIP 创建service的默认类型,提供一个集群内部的虚拟ip地址,这是service的默认类型,通过虚拟ip直接访问pod的资源,无法对外提供访问

NodePort:会在每个node节点上都开放一个相同的端口。外部可以通过node的本机ip+端口访问pod资源,集群外部访问service资源的一种方式,四层代理

modeip:nodeport

随机指派,也可以指定 30000-32767

基于deployment创建的pod,可以使用的方式

kubectl expose deployment nginx --port=80 --target-port=80 --name=nginx-service --type=NodePort

##

--port=80 service集群的端口

--target-port=80 pod内部容器的端口

##

[root@master01 ~]# kubectl get svc

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23h

nginx-service NodePort 10.96.25.213 <none> 80:32206/TCP 12s

##

10.96.25.213 集群内部的ip地址,外部是不可以访问这个ip的地址

80:对应的是内部的service的端口

32206:和内部service的80端口做映射

kubectl edit svc nginx1-service

进yaml修改服务端口

LoadBalancer:如果service的类型设定为LoadBalancer,映射地址(云平台提供LoadBalancer的地址)这种用法仅用于公有云服务共用商在云台上设置的service的场景。外部来访问,实现负载均衡。LoadBalancer这个是地址是要付费的。创建好了service,指定类型为LoadBalancer,会给你提供一个地址来代理pod内部的ip地址

ExternalName:DNS映射,给service分配一个域名,通过域名来访问后端的pod资源。ExternalName的service类型,不能提供负载均衡,必须要设置LoadBalancer的地址才能实现

kubectl edit svc nginx2-service

kubectl get pod -o wide

vim /etc/hosts

10.244.2.9 www.123.cc

总结:

service的类型:

ClusterIP 创建service的默认类型,提供一个集群内部的虚拟ip地址,这是service的默认类型,通过虚拟ip直接访问pod的资源,无法对外提供访问

NodePort:会在每个node节点上都开放一个相同的端口。外部可以通过node的本机ip+端口访问pod资源,集群外部访问service资源的一种方式,四层代理

LoadBalancer:如果service的类型设定为LoadBalancer,映射地址(云平台提供LoadBalancer的地址)这种用法仅用于公有云服务共用商在云台上设置的service的场景。外部来访问,实现负载均衡。LoadBalancer这个是地址是要付费的。创建好了service,指定类型为LoadBalancer,会给你提供一个地址来代理pod内部的ip地址

ExternalName:DNS映射,给service分配一个域名,通过域名来访问后端的pod资源。ExternalName的service类型,不能提供负载均衡,必须要设置LoadBalancer的地址才能实现

相关文章:

k8s之陈述式资源管理

1.kubectl命令 kubectl version 查看k8s的版本 kubectl api-resources 查看所有api的资源对象的名称 kubectl cluster-info 查看k8s的集群信息 kubectl get cs 查看master节点的状态 kubectl get pod 查看默认命名空间内的pod的信息 kubectl get ns 查看当前集群所有的命…...

7天玩转 Golang 标准库之 http/net

在构建web应用时&#xff0c;我们经常需要处理HTTP请求、做网页抓取或者搭建web服务器等任务&#xff0c;而Go语言在这方面为我们提供了强大的内置工具&#xff1a;net/http标准库&#xff0c;它为我们操作和处理HTTP协议提供了便利。 基础用法 一&#xff1a;处理HTTP请求 首…...

钡铼技术集IO数据采集可编程逻辑控制PLC无线4G环保物联网关

背景 数据采集传输对于环保企业进行分析和决策是十分重要的&#xff0c;而实时数据采集更能提升环保生产的执行力度&#xff0c;从而采取到更加及时高效的措施。因此实时数据采集RTU成为环保企业的必备产品之一。 产品介绍 在推进环保行业物联网升级过程中&#xff0c;环保RTU在…...

STM32CubeMX教程10 RTC 实时时钟 - 周期唤醒、闹钟A/B事件和备份寄存器

目录 1、准备材料 2、实验目标 3、实验流程 3.0、前提知识 3.1、CubeMX相关配置 3.1.1 、时钟树配置 3.1.2、外设参数配置 3.1.3 、外设中断配置 3.2、生成代码 3.2.1、外设初始化函数调用流程 3.2.2、外设中断函数调用流程 3.2.3、添加其他必要代码 4、常用函数 …...

HarmonyOS4.0系统性深入开发08服务卡片架构

服务卡片概述 服务卡片&#xff08;以下简称“卡片”&#xff09;是一种界面展示形式&#xff0c;可以将应用的重要信息或操作前置到卡片&#xff0c;以达到服务直达、减少体验层级的目的。卡片常用于嵌入到其他应用&#xff08;当前卡片使用方只支持系统应用&#xff0c;如桌…...

002文章解读与程序——中国电机工程学报EI\CSCD\北大核心《计及源荷不确定性的综合能源生产单元运行调度与容量配置两阶段随机优化》已提供下载资源

&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;下载资源链接&#x1f4…...

Typora快捷键设置详细教程

文章目录 一、快捷键设置步骤二、设置快捷键简单案例参考资料 一、快捷键设置步骤 在typora软件中&#xff0c;快捷键的设置步骤主要为&#xff1a; 打开【文件】–>【偏好设置】&#xff0c;找到【通用】–>【打开高级设置】&#xff0c;找到 conf.user.json 文件。 然…...

《异常检测——从经典算法到深度学习》25 基于深度隔离林的异常检测算法

《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Donut: …...

第7章 1 异常处理

bug的由来及分类 p81 字符串形式表示的数字之间也可以比较大小 import re ageinput(年龄&#xff1a;) if age>18:print(age)列表的append操作每次只能添加一个元素&#xff1a; lst[] lst.append(A) lst.append(B) # lst.append(A,B) 错误python中的异常处理机制 p82 t…...

昇腾910平台安装驱动、固件、CANN toolkit、pytorch

本文使用的昇腾910平台操作系统是openEuler&#xff0c;之前没了解过&#xff0c;不过暂时感觉用起来和centOS差不多。系统架构是ARM&#xff0c;安装包基本都是带aarch64字样&#xff0c;注意和x86_64区别开&#xff0c;别下错了。 安装依赖 cmake 通过yum安装的cmake版本较…...

【数据挖掘】模型融合

模型融合是指将多个不同的机器学习模型组合起来&#xff0c;通过综合多个模型的预测结果来得到更准确的预测结果。模型融合可以提高模型的鲁棒性&#xff0c;减小模型的方差&#xff0c;提高模型的泛化能力。 常见的模型融合方法包括平均法、投票法和堆叠法。 平均法(Averagin…...

DM、Oracle、GaussDB、Kingbase8(人大金仓数据库)和HIVE给列增加注释

DM数据库给列增加注释 1、创建表 CREATE TABLE test222 ( id int NOT NULL PRIMARY KEY, name varchar(1000) DEFAULT NULL, email varchar(1000) DEFAULT NULL, phone varchar(1000) DEFAULT NULL ) 2、给列添加注释 comment on column TEST222.NAME is 这是一个列注释; 例如…...

C语言实例_stdlib.h库函数功能及其用法详解

一、前言 C语言作为一种高效、灵活的编程语言&#xff0c;标准库的使用对于开发人员来说是不可或缺的。其中&#xff0c;stdlib.h是C语言中一个重要的标准库头文件&#xff0c;提供了许多常用的函数和工具&#xff0c;以便开发人员能够更加便捷地进行内存管理、字符串处理、随…...

Error in onLoad hook: “URIError: URI malformed“ found in…报错处理以及完善uniapp针对对象传参

使用uniapp传参的过程中遇到这么一个问题&#xff0c;当我们需要传整个对象作为参数时&#xff0c;我会先将这个对象先编码&#xff0c;然后再解码&#xff0c;从而获取到怎么参数&#xff0c;平常实操的时候也没有遇到过问题&#xff0c;但是今天测试的时候&#xff0c;刚好一…...

c语言-位操作符练习题

文章目录 前言一、n&(n-1)的运用场景(n为整数)二、&1 和 >>的应用场景总结 前言 本篇文章介绍利用c语言的位操作符解决一些练习题&#xff0c;目的是掌握各个位操作符的使用和应用场景。 表1.1为c语言中的位操作符 操作符含义&按位与|按位或^按位异或~按位…...

园林机械部件自动化三维测量检测形位公差-CASAIM自动化三维检测工作站

随着园林机械的广泛应用&#xff0c;对其机械部件的精确测量需求也日益增加。传统的测量方法不仅效率低下&#xff0c;而且精度难以保证&#xff0c;因此&#xff0c;自动化三维测量技术成为了解决这一问题的有效途径。本文将重点介绍CASAIM自动化三维检测工作站在园林机械部件…...

o2o生活通全开源尊享版+多城市切换+企业付款+交友IM+平台快报

搭建教程 1.把 pigo2ov282.sql 文件里面的网址 test.souho.net 全部批量替换为你的自己的 2.使用 phpmyadmin 导入 pigo2ov282.sql 到你的数据库&#xff08;直接访问/phpmyadmin 即可&#xff09; 3.修改数据库文件/conf/db.php 里的数据库连接信息&#xff08;请勿使用记事本…...

UE4开发BIM程序 的 流程

某机构BIM设计研究中心主任马晓龙&#xff0c;他对编程颇有研究。今天他会用通俗易懂的语言来讲解基于游戏引擎UE4的BIM技术可视化应用。对于想要自己开发程序的设计师一定要读一下&#xff01; 1&#xff09;关于UE4——UE4是什么&#xff1f; 可以简单的理解为&#xff0c;一…...

【AI大语言模型】ChatGPT在地学、GIS、气象、农业、生态、环境等领域中的应用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…...

【面试题】写一个睡眠函数

题目要求 请你编写一个异步函数&#xff0c;它接收一个正整数参数 millis &#xff0c;并休眠 millis 毫秒。要求此函数可以解析任何值。 示例 1&#xff1a; 输入&#xff1a;millis 100 输出&#xff1a;100 解释&#xff1a; 在 100ms 后此异步函数执行完时返回一个 Pro…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

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

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

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...