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

k8s陈述式资源管理(命令行)

1、资源管理

(1)陈述式资源管理(常用——查、增)

使用kubectl工具进行命令行管理

①特点:对资源的增删查比较方便,对改不友好

②优点:90%以上的场景都可以满足

③缺点:命令冗长、复杂

(2)声明式资源管理(常用——部署资源)

使用yml文件进行声明式资源管理

3GUI图形化资源管理

2、kubectl命令详解

(1)查看

kubectl命令大全网站http://docs.kubernetes.org.cn/683.html

查看版本信息

kubectl version

查看所有api的资源对象

kubectl api-resources

查看k8s的集群信息

kubectl cluster-info

自动补齐命令

基本信息查看

查看master节点的状态

kubectl get cs

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

kubectl get pod

查看当前集群所有命名空间

kubectl get namespaces

查看指定命名空间里的pod

kubectl get pod -n 命名空间名称

查看默认命名空间内pod的详细信息

kubectl get pod -o wide

查看指定命名空间内的pod详细信息

kubectl get pod -o wide -n 命名空间名称

查看node节点信息和状态

kubectl get node

查看node节点的详细信息

kubectl get node -o wide

查看已经部署好的pod的详细信息

kubectl describe pod pod名称

查看指定命名空间里的pod的详细情况

kubectl describe pod pod名称 -n 命名空间名称

动态查看pod日志

kubectl logs -f pod名称

动态查看指定命名空间的pod日志

kubectl logs -f pod名称 -n 命名空间名称

创建命名空间

kubectl create ns 名称

删除命名空间

kubectl delete ns 名称

删除pod(没有真正删除)

 kubectl delete pod pod名称

生成一个新的pod

(2)部署

1)deployment部署pod的两种方式

①陈述式部署(命令行)

②声明式部署(yml)

2)特点

①滚动更新:不是一次性把所有pod全部部署,而是依次部署,主要在pod更新时使用,逐步引入新的pod,逐步减少旧的pod

②自我修复:若有pod节点发生故障,deployment会自动启动新的pod进行代替

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

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

注:必须基于deployment创建的服务才能实现以上功能(绝大多数都使用deployment创建)

查看默认命名空间里基于deployment创建的pod

 kubectl get deployments.apps

查看指定命名空间里deployment创建的pod

kubectl get deployments.apps -n kube-system

查看默认空间里daemonsets创建的pod

kubectl get daemonsets.apps

daemonset不能在命令行创建,只能用yml文件来创建pod,后台运行创建,在每个节点上创建一个方式相同、版本相同的容器运行的pod。一般是依赖环境和重要组件,不会对这些资源进行操作

创建pod

(同一个命名空间pod不能重名)

kubectl create deployment pod名称 --image=nginx (--replicas=3)

注:若是基于deployment方式创建的pod ,或基于daemonset方式创建的pod,均是由控制器创建的pod,使用delete删除pod无法删除,相当于重启pod。先删除控制器,才能删除pod,但删除控制器,所有基于这个控制器的pod全部被删除(慎用)

kubectl delete deployments.apps nginx

kubectl delete deployments.apps nginx

不是基于控制器创建的pod

(可以直接删除,很少用)

kubectl run pod名称 --image=nginx

远程进入节点容器

kubectl exec -it 容器名称 bash

注:docker的exec只能在本机使用,kubectl的exec可以跨主机进入容器

指定命名空间进入容器

kubectl exec -it 容器名称 bash -n 命名空间名称

快速结束容器

(用于结束卡在销毁状态的pod)

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

--grace-period表示过度的存活期(默认30秒,可以让pod优雅的结束容器内的进程,然后退出pod)

--grace-period=0表示立刻退出

对deployment创建的pod扩、缩容

(仅限于deployment控制器)

kubectl scale deployment nginx1 --replicas=3

扩容:

缩容:

发布服务的service

查看当前命名空间的service

kubectl get svc

删除service

kubectl delete svc nginx

service的类型

①ClusterIP:创建service的默认类型,提供一个集群内部的虚拟IP地址,通过这个虚拟IP可以直接访问pod的资源,仅限于pod内部,无法对外提供访问

②NodePort(常用)在每个node节点上都开放一个相同的端口,外部可以通过node的本机IP+端口访问pod资源,这是集群外部访问service资源的一种方式(四层代理),基于deployment创建的pod可以使用这种方式

nodeip:nodeport(nodeport可随机指派,也可指定,范围30000~32767)

对外暴露service端口

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

--port=80    service集群的端口(可随意指定)

--target-port=80    pod内部容器的端口(服务固定的端口号)

10.96.26.83:集群内部的IP地址,外部不可以访问

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

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

pod内部的容器的端口是固定的,--port是service和容器映射端口,可以随意指定

--target-port是容器内部的服务端口

修改service端口

kubectl edit svc service名称

③LoadBalance:若service类型设定为LoadBalance,映射地址(云平台提供LoadBalance的地址,需要付费),这种用法仅用于公有云服务供应商在云台上设置的service的场景,外部访问,实现负载均衡

创建service,指定类型为LoadBalance

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

注:企业内部最常见的是NodePort和ExternalName结合一起使用

3更新、回滚、发布方式

项目的生命周期:创建——发布——更新——回滚——删除

更新服务版本

kubectl set image deployment nginx nginx=nginx:1.22.0

查看还原点

kubectl rollout history deployment nginx

数字越大,就是最近的一次的操作

设置还原点时加上标识便于识别还原点

kubectl set image deployment nginx nginx=nginx:1.15 --record

回滚

kubectl rollout undo deployment nginx --to-revision=1

查看还原状态

①kubectl rollout status deployment nginx

②kubectl get pod -w动态查看

查看默认命名空间集群内的所有信息

kubectl get all

看默认命名空间集群内的所有详细信息

kubectl get all -o wide

查看指定命名空间集群内的所有详细信息

kubectl get all -o wide -n 命名空间名称

相关文章:

k8s陈述式资源管理(命令行)

1、资源管理 (1)陈述式资源管理(常用——查、增) 使用kubectl工具进行命令行管理 ①特点:对资源的增删查比较方便,对改不友好 ②优点:90%以上的场景都可以满足 ③缺点:命令冗长…...

五、HTML 标题

在 HTML 文档中&#xff0c;标题很重要。 一、HTML 标题 标题&#xff08;Heading&#xff09;是通过 <h1> - <h6> 标签进行定义的。<h1> 定义最大的标题。 <h6> 定义最小的标题。 <h1>这是一个标题。</h1> <h2>这是一个标题。&l…...

三菱MR-JE伺服脉冲轴应用参数设置

三菱MR-JE伺服在脉冲轴控制上的应用&#xff0c;常用参数设置如下&#xff1a; 1、常用参数 未完......

通信原理课设(gec6818) 006:网络编程

目录 1、概念 2、通信 3、通信基本流程 TCP: UDP: 4、函数 I 创建套接字 II 绑定地址 III 字节序转换 IV 地址转换 V 监听 VI accept VII connect VIII 从套接字接收信息 IX 从套接字发送消息 X 关闭套接字 5、网络配置 1、确保你的网卡里面有两个虚拟网卡&a…...

一体化、一站式!智能视频客服加码全媒体云呼叫中心能力

凭借对电话、短信、邮件、社交媒体、视频等数种沟通渠道强大的统一集成能力&#xff0c;全媒体云呼叫中心已跃升成为现代企业客户服务的核心工具&#xff0c;高效便捷地为企业提供客户服务。而随着消费者需求愈加多元化和个性化&#xff0c;传统的语音通话方式已无法满足部分消…...

Vue的watch功能:实现响应式数据更新

watch是vue内部提供的一个用于侦听功能的更通用的方法&#xff0c;其用来响应数据的变化&#xff0c;通过特定的数据变化驱动一些操作。简言之&#xff1a;当需要被watch监听的数据发生变化时就会被执行watch中的逻辑。实现数据的实时更新&#xff01; 普通监听 <template…...

兔单抗制备方法的发展-杂交瘤技术|卡梅德生物

兔单克隆抗体技术是近年来在抗体研究领域中取得的重要进展之一。研究人员通过改进抗原设计、免疫策略和单克隆B细胞培养条件&#xff0c;提高了单克隆抗体的产量和特异性。相比于传统的小鼠单克隆抗体技术&#xff0c;兔单克隆抗体技术具有更大的抗原特异性和更高的亲和力&…...

【数据结构】图论与并查集

一、并查集 1.原理 简单的讲并查集&#xff0c;就是查询两个个元素&#xff0c;是否在一个集合当中&#xff0c;这里的集合用树的形式进行表示。并查集的本质就是森林, 即多棵树。 我们再来简单的举个例子: 假设此时的你是大一新生&#xff0c;刚进入大学&#xff0c;肯定是…...

冲刺港股IPO,速腾聚创「承压」

对于「光鲜」的激光雷达公司来说&#xff0c;当下最难的问题是&#xff1a;如何说服投资者相信&#xff0c;前装市场能够按照预期定点订单兑现。 今年&#xff0c;作为国内高阶智驾头部车企之一的华为&#xff0c;在陆续推出的新车型上开始「降本」。其中&#xff0c;问界智驾版…...

Linux基础知识点(五-信号)

一、信号的基本概念 1.1 信号的概念 信号&#xff08;signal&#xff09;&#xff0c;又称为软中断信号&#xff0c;用于通知进程发生了异步事件&#xff0c;它是Linux系统响应某些条件而产生的一个事件&#xff0c;它是在软件层次上对中断机制的一种模拟&#xff0c;是一种异…...

SpringBoot 一个注解实现数据脱敏

什么是数据脱敏 数据脱敏是指对某些敏感信息&#xff0c;例如姓名、身份证号码、手机号、固定电话、银行卡号、邮箱等个人信息&#xff0c;通过脱敏算法进行数据变形&#xff0c;以保护敏感隐私数据。 数据脱敏通常涉及以下几种主要方法&#xff1a; 替换&#xff1a; 将原始…...

记录:开始学习网络安全

本文持续更新学习进度 背景 在私企干了5年虚拟化、云原生相关的运维&#xff0c;学到了很多&#xff0c;但不成体系。老板是清华毕业法国留学在德勤干过&#xff0c;最后回国创业的野路子。我工作是为了更好的生活&#xff0c;我挺担心老板因为家庭变故或者炒个原油宝&#x…...

C语言—第1次作业:编译与连接基础知识

常做练习巩固知识 本次作业答案链接如下&#xff1a; 答案解析——C语言—第1次作业&#xff1a;编译与连接基础知识 1.字符串的结束标志是&#xff1a;&#xff08; &#xff09; A.是0 B.是EOF C. 是\0 D.是空格 2.关于C语言关键字说法正确的是&#xff1a;( ) A.关…...

not attached to window manager问题解决

关于出现这个问题&#xff0c;一般是因为Activity已经在finish了&#xff0c;但是还在dialog.show()&#xff0c;或者dialog.dismiss().导致window manager无法管理dialog。解决办法如下&#xff1a; /** * 20210913 安全关闭对话框 . * 避免报&#xff1a;not attac…...

影视后期: PR调色处理,调色工具面板介绍

写在前面 整理一些影视后期的相关笔记博文为 Pr 调色处理&#xff0c;涉及调色工具面板简单认知包括 lumetri 颜色和范围面板理解不足小伙伴帮忙指正 元旦快乐哦 _ 名词解释 饱和度 是指色彩的鲜艳程度&#xff0c;也被称为色彩的纯度。具体来说&#xff0c;它表示色相中灰色…...

ARM AArch64的虚拟化(virtualization)详解(上)

目录 一、概述 开始之前 二、虚拟化介绍 为什么虚拟化很重要...

计算机组成原理知识总结

目录 第一章、计算机系统概述知识框架&#xff1a;1.冯诺依曼机和存储程序的概念&#xff1f;2.计算机的工作过程&#xff1f;3.在计算机系统结构中&#xff0c;什么是编译&#xff1f;什么是解释&#xff1f;4.描述一下指令执行过程&#xff1f;1) 取指令&#xff1a; PC 一&g…...

springboot学习(八十五) 解决springboot3.2找不到资源无法抛出404错误的问题

前言 springboot3.2以下可以定义ErrorPageRegistrar将404错误转发到一个接口地址&#xff0c;但升级到springboot3.2&#xff08;spring6.1&#xff09;后,该配置不生效&#xff0c;抛出了500错误。 以前的错误页面处理如下&#xff1a; ConditionalOnClass(ErrorPageRegist…...

OpenHarmony 应用通用签名

一.背景 由于hap包需要经过签名才能安装到设备上&#xff0c;在DevEco Studio可以进行自动签名&#xff0c;但是自动签名只能安装在当前的设备上&#xff0c;在其他设备上不能安装&#xff0c;所以我们需要进行通用的手动签名&#xff0c;手动签名HarmonyOS和OpenHarmony流程是…...

Redis:原理+项目实战——Redis实战1(session实现短信登录(并剖析问题))

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理速成项目实战——Redis的Java客户端 &#x1f4da;订阅专栏&#xff1a;Redis速成 希望文章对你们有所帮助…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者&#xff0c;高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法&#xff0c;分为两大系列&#xff1a; 一、getElementBy... 系列 传统方法&#xff0c;直接通过 DOM 接口访问&#xff0c;返回动态集合&#xff08;元素变化会实时更新&#xff09;。…...