【k8s】k8s的yaml文件解释,如何部署一个java.jar包

news2024/9/24 15:19:48

前言:

k8s的yaml文件解释,如何部署一个java,jar包
YAML语法格式:

  • 大小写敏感;
  • 使用缩进表示层级关系;不支持Tab键制表符缩进,只使用空格缩进;
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可,通常开头缩进两个空格;
  • 字符后缩进一个空格,如冒号,逗号,短横杆(-) 等
  • “—” 表示YAML格式,一个文件的开始,用于分隔文件; 可以将创建多个资源写在同一个 yaml 文件中,用 —
    隔开,就不用写多个 yaml 文件了。
  • "#” 表示注释;

在这里插入图片描述

文章目录

  • 前言:
  • 一、具体的yaml
    • 1.常用字段说明
    • 2.详细的yaml文件
  • 二、具体解释
    • 2.Deployment解释:
    • 2.Service的部分解释:
  • 总结


一、具体的yaml

1.常用字段说明

apiVersion          #API版本
kind                #资源类型
metadata            #资源元数据
spec                #资源规格
replicas            #副本数量
selector            #标签选择器
template            #pod模板
metadata            #pod元数据
sepc                #pod规格
containers          #容器配置

2.详细的yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: java
  namespace: sjbz
spec:
  selector:
    matchLabels:
      app: java
  replicas: 1
  template:
    metadata:
      labels:
        app: java
    spec:
      nodeSelector:
          name: "node-2"
      containers:
      - name: java
        image: user-center:sjbz
        env:
        - name: TZ
          value: Asia/Shanghai
        imagePullPolicy: Never
        ports:
        - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: java
  namespace: sjbz
spec:
  selector:
    app: java
  ports:
  - protocol: TCP
    port: 8080
    targetPort: 8080
    nodePort: 3314
  type: NodePort

二、具体解释

2.Deployment解释:

apiVersion: apps/v1         #指定使用的Kubernetes API版本,用于Deployment
kind: Deployment            #定义资源类型为Deployment
metadata:                  #元数据部分,包含Deployment的名称和所属命名空间
 name: java                 #定义Pod名称,在同一个namespace空间中必须是唯一的
 namespace: sjbz            #Pod所属的命名空间
spec:                      #规定Deployment的规范
  selector:                #选择器用于标识此Deployment控制的Pod
   matchLabels:            #匹配标签的条件,此处为app: java
    app: java               #匹配上面的标签
replicas: 1:               #指定要创建的Pod副本数
template:                  #定义创建Pod的模板
 metadata:                 #模板的元数据
  labels:                  #Pod的标签,此处为app: java
   app: java                #匹配上面的标签,需与上面的标签定义的app保持一致
 spec:                     #定义Pod的规范
  nodeSelector:            #Node选择器,使用标签来选择具体的Node
    name: "node-2"          #选择具有name: "node-2"标签的Node作为Pod的调度目标
  containers:              #容器列表
 - name: java               #容器的名称
   image: user-center:sjbz  #使用的镜像
   env:                    #环境变量列表
  - name: TZ                #环境变量的名称
    value: Asia/Shanghai    #环境变量的值,设置时区为亚洲/上海
   imagePullPolicy: Never   #指定不从远程仓库拉取镜像,而是使用本地已有镜像
   ports:                  #容器暴露的端口列表
  - containerPort: 8080     #容器监听的端口号

2.Service的部分解释:

apiVersion: v1            #必选,指定使用的Kubernetes API版本,用于Service
kind: Service             #必选,定义资源类型为Service
metadata:                #必选,元数据部分,包含Service的名称和所属命名空间
 name: java
 namespace: sjbz
spec:                     #规定Service的规范
 selector:                #选择器用于标识此Service关联的Pod
  app: java:              #匹配标签的条件,与Deployment中的标签匹配
ports:                    #定义Service暴露的端口
- protocol:                #TCP:端口协议为TCP
  port: 8080               #Service监听的端口号
  targetPort: 8080         #指定转发请求到Pod的哪个端口
  nodePort: 3314           #如果Service的类型为NodePort,则会将请求转发到节点上的该端口
type: NodePort             #Service的类型为NodePort,允许通过节点的IP和指定的端口访问Service

总结

这个配置文件实现了在命名空间sjbz中创建一个名为java的Deployment和Service。Deployment使用标签选择器控制一个副本具有app: java的Pod,并在具有`name: "node-2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/739085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Imx6ull linux 设备树

一 linux设备树简介 1.1 linux设备树 Linux设备树是一种用于描述硬件设备信息的数据结构,它在Linux内核中发挥着越来越重要的作用 在系统上电后,BootLoader会将设备树传递给Linux内核,内核根据识别的树信息展开为platform_device、spi_dev…

如何用爬虫实现GPT功能

如何用爬虫实现GPT功能? GPT(Generative Pre-trained Transformer)和爬虫是两个完全不同的概念和技术。GPT是一种基于Transformer模型的自然语言处理模型,用于生成文本,而爬虫是一种用于从互联网上收集数据的技术。 …

贝叶斯 A/B 测试解释与Python实现

一、说明 A / B测试在各个行业中有许多应用。从试图确定最佳市场群体到医疗药物测试,它具有各种应用,并允许企业根据结果做出决策。有两种常见的A/B检验方法,频率主义方法和贝叶斯方法,两者都是从假设检验的基础出发的。在本文中&…

819. 递归求阶乘

链接: 819.递归求阶乘 题目: 请使用递归的方式求 nn 的阶乘。 输入格式 共一行,包含一个整数 nn。 输出格式 共一行,包含一个整数,表示 nn 的阶乘的值。 数据范围 1≤n≤101≤n≤10 输入样例: 3输出样例&am…

【Linux】查看系统各种信息的常用命令 (CPU、内存、进程、网口、磁盘、硬件、等等)

Linux是一种开源的类Unix操作系统,它有很多不同的发行版,如Ubuntu、CentOS、Debian等。Linux系统提供了很多命令行工具,可以让用户方便地查看和管理系统的各种信息,如硬件配置、内存使用、进程状态、网络连接等。本文将介绍一些常…

解决IDEA项目external libraries依赖包消失的问题

有时候电脑重启后,再打开IDEA上的项目时会出现external libraries目录下的依赖包都消失了的情况,只剩下了一个JDK的包 网上说可以通过刷新IDEA的缓存解决,但我试了没有效果,最后使用如下办法解决: 1.删除项目目录下的…

python接口自动化(二十五)--unittest断言——下(详解)

简介 本篇还是回归到我们最初始的话题,想必大家都忘记了,没关系看这里:传送门 没错最初的话题就是登录,由于博客园的登录机制改变了,本篇以我找到的开源免费的登录API为案例,结合 unittest 框架写 2 个用例…

MySQL原理探索——26 备库为什么会延迟好几个小时

在上一篇文章中,介绍了几种可能导致备库延迟的原因。你会发现,这些场景里,不论是偶发性的查询压力,还是备份,对备库延迟的影响一般是分钟级的,而且在备库恢复正常以后都能够追上来。 但是,如果备…

nvm的安装与使用5分钟极速上手

nvm的安装与使用5分钟极速上手 下载 nvm 并安装 nvm官网下载地址推荐下载 nvm-setup.zip 这一个,nvm-noinstall.zip下载之后不用安装,但是得自己配置setting.txt文件,以及环境变量,过于麻烦。nvm-setup.zip 会直接帮我们把环境变…

开篇(变量、运算符、进制)

一、Java简介 JDK(JRE(JVM & API)、Java language(tools & APIs));java源文件 → javac的编译 → class类(会生成一个或多个class文件); * 使用 jav…

什么是Qt Widgets?一组创建经典桌面应用UI的界面组件!

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 Qt Widgets模块提供…

QGIS 根据点位批量出图

背景 在工作中,当有大量项目点位需要结合地图介绍时,则需要批量截图。于是有了今天的教程。 一 工具及材料准备 QGIS 插件 QuickMapServices 点位集合 CSV文件 其他图层文件 二 导入图层 这里根据实际需要导入自己对应格式的就好。 图层-添加…

计算机网络地址

1、ipv4地址 2、网络地址转换 3、子网划分和主机号

Spring MVC 注解实现

注解描述 注解描述Controller用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象,分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了RequestMapping 注解。Controller 只是定义了一个控制器类&#xff0c…

第七章 环境软件的安装

1、nodeJS安装 node -v node版本 安装多个node版本 pnpm i nvm -g nvm -v nvm ls 查看当前安装的版本 nvm install 18.7.0 安装指定的版本 nvm use 18.6.0 切换到别的版本 安装pnpm npm i pnpm -g pnpm -v 安装VSCode 官网直接下载 安装好后 需要配置 按住 CMD +…

基于单片机的老人防摔倒的设计与实现

功能介绍 以51单片机作为主控系统;通过LCD1602液晶显示屏显示当前的经纬度及时间的信息;温度传感器采集当前体温;通过GPS接收模块获得当前位置的位置的经度、纬度、时间和高度等信息;通过ADXL345检测老人摔倒的一瞬间重力加速度通…

[解决Github 克隆错误] unable to access ‘xxx‘: Recv failure: Connect

1.错误描述: 从GitHub上克隆仓库到本地,出现错误: unable to access https://github.com/xxxx: Recv failure: Connection was reset。 克隆失败。 2.第一次解决此问题:从终端输入: git config --global http.sslVer…

Liunx下的消费者与生产者模型与简单线程池的实现

文章目录 前言1.消费者与生产者模型2.信号量1.信号量的接口2.使用环形队列模拟生产者消费者模型 3.简单实现线程池4.补充说明 前言 本文主要会结束消费者生产者模型,以及简单线程池的实现。 1.消费者与生产者模型 之前我们学了条件变量和互斥等概念。条件变量本质…

vETSTStudio - CAPL - CAN报文未使用位

目录 ChkStart_PayloadGapsObservation 代码示例 ChkStart_PayloadGapsObservationTx 代码示例 ChkStart_PayloadGapsObservationRx 代码示例 我们在做CAN&CANFD通信或者CAN&CANFD网络管理的时候,就会测试到DBC中报文各种信号和位的使用状态&#xff…

从数据采集到智能控制,探寻锂电卷绕机的自动化之路

在锂电池制造过程中,卷绕机被视为关键设备之一。它负责将正负极材料和隔膜按照设计要求卷绕成电芯,是确保锂电池性能和质量的重要环节。为了提高生产效率、确保产品质量,锂电池行业越来越注重引入智能化技术和设备。 图.锂电池生产&#xff0…