k8s声明式管理方式(yaml文件实现)

news2024/11/15 9:53:29

首先在/opt目录下创建 mkdir k8s-yaml

cd k8s-yaml/

yaml文件

1.deployment的部署方式

首先 kubectl explain deployment  获取它的类型kind和标签version

vim nginx-deploy.yaml

apiVersion: apps/v1
#定义api版本的标签
kind: Deployment
#定义资源的类型(kind的类型:deployment job ingress service deamonset)或者角色
metadata:
#定义创建资源的元数据信息,包括资源的名称(pod的名称)、命名空间、pod的标签
  name: nginx1
#定义资源的名称
#  namesapces: xy102
#  定义命名空间
  labels:
    app: nginx1
#定义标签名就是app=nginx1  注意:上下文要一致
spec:
#spec是用来配置deployment资源需要的参数属性(副本数、匹配的标签以及容器的重启策略)
#这里顶格写就属于全部配置
  replicas: 3
#定义该资源pod的数量
  selector:
    matchLabels:
#selector定义标签的选择器  matchLabels:定义匹配的标签。注意:这里需要上下文保持一致
      app: nginx1
#以下都是来定义容器和pod的元数据  
  template:
#template定义业务模版,deployment定义了3个副本,所有pod的属性都会和template的设置保持一致
    metadata:
      labels:
        app: nginx1
#这里也需要和上下文保持一致
    spec:
#这里的spec定义pod内的容器
      containers:
      - name: nginx
        image: nginx:1.22
#这里就是--image=nginx:1.22,这里就是使用的镜像
        ports:
        - containerPort: 80
#如果nginx的端口是默认的就是80,这里ports可以不写,写了也无法改变容器内的端口。
#如果默认端口不是80,那就需要加上ports声明非默认端口。
#这里的端口就是dockerfile定义的镜像的端口      

注:pod里面有容器,但是是镜像定义容器,所以pod不能改变镜像

执行命令:kubectl apply -f nginx-deploy.yaml     如果有配置修改之后重新运行就好了

如果是基于yaml文件定义的资源对象

删除命令:kubectl delete -f nginx-deploy.yaml

2.service的部署方式

首先 kubectl explain service 获取它的类型kind和标签version

vim nginx-service.yaml

apiVersion: v1
#先定义api的标签
kind: Service
metadata:
#定义service的名称和标签
  name: nginx1-svc
#service的名称
  labels:
    app1: nginx1
#service的标签
spec:
#定义service的资源参数(端口映射、service类型、匹配的标签名)
  type: NodePort
  ports:
  - port: 80
#这里是定义service的端口
    targetPort: 80
#这里是容器内的端口
    nodePort: 30001
  selector:
    app: nginx1
#匹配标签名  

执行命令:kubectl apply -f nginx-service.yaml

删除命令:kubectl delete -f nginx-service.yaml

此时就能对外访问了  访问master本机ip地址和30001即可

3.pod的部署方式

首先 kubectl explain pod 获取它的类型kind和标签version

vim nginx-pod.yaml

apiVersion: v1
#定义api版本的标签
kind: Pod
#定义资源的类型
metadata:
#定义创建资源的元数据信息
  name: nginx-pod
  labels:
    app: nginx-pod
spec:
#声明容器的参数
  containers:
  - name: nginx
    image: nginx:1.22
    ports:
    - containerPort: 80
#容器的端口
      hostPort: 80
#主机端口,直接让主机端口和容器端口做映射(只能在yaml文件当中表示)
#如果这里做了hostport就不需要做service的端口映射

执行命令:kubectl apply -f nginx-pod.yaml

删除命令:kubectl delete -f nginx-pod.yaml

kubectl get pod -o wide  查看pod的部署在哪个节点上

因为hostport对应的是主机端口只是一个,所以对外访问的是这个node节点的本机ip地址

另外,用了hostport是不能轮询的

容器的重启策略和传参

重启的策略

restartPolicy 重启策略:作用就是来声明如果容器遇到问题,它的重启策略是什么

重启的策略有三种

1.Always 

表示只要启动失败就会一直重启   指定是容器

以pod为例,重启策略应该写在容器里面

apiVersion: v1
kind: Pod
metadata:
  name: centos-pod
  labels:
    app: centos-pod
spec:
  containers:
  - name: centos
    image: centos:7
    ports:
    - containerPort: 80
      hostPort: 80
  restartPolicy: Always
2.Never 

表示从不重启    docker的默认模式是never

3.OnFailure   

表示只有容器异常退出时,才会重启 ,也就是返回码非0时才会对容器进行重启

pod内的传参

command和arges

在yaml文件当中command

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

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

相关文章

【数模修炼之旅】10 遗传算法 深度解析(教程+代码)

【数模修炼之旅】10 遗传算法 深度解析(教程代码) 接下来 C君将会用至少30个小节来为大家深度解析数模领域常用的算法,大家可以关注这个专栏,持续学习哦,对于大家的能力提高会有极大的帮助。 1 遗传算法介绍及应用 …

网络安全面试经验80篇

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330#rd 《网安面试指南》http://mp.weixin.qq.com/s…

《JavaEE进阶》----5.<SpringMVC②剩余基本操作(CookieSession)>

Cookie和Session简介。 Spring MVC的请求中 Cookie的设置和两种获取方式 Session的设置和三种获取方式。 三、(接上文)SpringMVC剩余基本操作 3.2postman请求 3.2.10 获取Cookie和Session 1.理解Cookie 我们知道HTTP协议自身是“无状态”协议。 &qu…

2024.8.28 C++

使用C手动封装一个顺序表&#xff0c;包含成员数组一个&#xff0c;成员变量N个 代码 #include <iostream> //使用C手动封装一个顺序表&#xff0c;包含成员数组一个&#xff0c;成员变量N个 using namespace std;using datatype int; struct Seqlist { private:datat…

flink 实战理解watermark,maxOutOfOrderness,allowedLateness

watermark watermark的作用 就是延迟触发窗口&#xff0c;让乱序到达的元素依然能够落在正确的窗口内。为啥能实现这个效果&#xff0c;一直通过公式更新watermark,如果乱序到的元素就不能更新watermark,相当于就是延迟触发计算操作。触发时间 watermark 大于窗口的最大值allo…

我的易经代码

本人从2000年起&#xff0c;就开始写一款算命软件&#xff0c;第一版用的是powerbuilder。后来改成企业版&#xff0c;名为“始皇预测”&#xff0c;用Java Swing编写&#xff0c;支持五大神数&#xff0c;三式&#xff0c;主要应用还是六爻、四柱、风水&#xff0c;其它如称骨…

2024118读书笔记|《岳阳楼记》——天高地迥,觉宇宙之无穷;兴尽悲来,识盈虚之有数

2024118读书笔记|《岳阳楼记》——天高地迥&#xff0c;觉宇宙之无穷&#xff1b;兴尽悲来&#xff0c;识盈虚之有数 爱莲说陋室铭小石潭记醉翁亭记赤壁赋桃花源记归去来兮辞木兰辞阿房宫赋滕王阁序岳阳楼记 《岳阳楼记》范仲淹&#xff0c;都是背过的古文&#xff0c;挺不错的…

【Qt窗口】—— 工具栏

前情摘要&#xff1a; 工具栏相当于菜单栏中的众多快捷方式&#xff0c;毕竟很多操作都是通过菜单栏来直接访问的&#xff0c;但是可能会查找很长时间&#xff0c;首先就是查找在哪个菜单里面&#xff0c;打开菜单才能进一步操作。而工具栏则是把一些常用的操作都给列举出来&am…

生产者与消费者模型

生产者与消费者模型 生产者&#xff1a;生产数据的线程&#xff0c;这类的线程负责从用户端、客户端接收数据&#xff0c;然后把数据Push到存储中介。 消费者&#xff1a;负责消耗数据的线程&#xff0c;对生产者线程生产的数据进行&#xff08;判断、筛选、使用、响应、存储&…

C++必修:布隆过滤器的提出与实现

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C学习 贝蒂的主页&#xff1a;Betty’s blog 1. 布隆过滤器的引入 在我们注册游戏或者社交账号时&#xff0c;我们可以自己设置…

科学重温柯南TV版:基于B站视频数据分析

麻鸭&#xff0c;四年过去了&#xff0c;失踪人口回归。 第一篇就决定是你了。 看了柯南M27剧场版后&#xff0c;萌生了重温TV版的念头&#xff0c;但是1191集(截止24/8/26)的体量太恐怖了&#xff0c;遂取点巧&#xff0c;综合大V建议(知乎&#xff1b;公众号)和视频网站数据…

基于asp.net的驾校管理系统附源码

这是一个基于asp.net的webform框架开发的BS架构的系统&#xff0c;详情如下&#xff1a; 项目下载链接 链接&#xff1a;https://pan.quark.cn/s/0679e783ef71

【设计模式】创建型模式——抽象工厂模式

抽象工厂模式 1. 模式定义2. 模式结构3. 实现3.1 实现抽象产品接口3.2 定义具体产品3.3 定义抽象工厂接口3.4 定义具体工厂3.5 客户端代码 4. 模式分析4.1 抽象工厂模式退化为工厂方法模式4.2 工厂方法模式退化为简单工厂模式 5. 模式特点5.1 优点5.2 缺点 6. 适用场景6.1 需要…

深入理解OJ编程中的输入输出:11个经典题目详解与技巧分享及stringstream,sort详解

文章目录 1.多组输入计算ab2.给定组数计算ab3.给定组数计算ab&#xff08;如果为0则结束&#xff09;4.计算一些列数的和(第一个数为0时结束)5.计算一些列数的和&#xff08;告诉了有几组&#xff09;6.计算一系列数的和&#xff08;不告知几组和何时结束&#xff0c;每一组第一…

如何评估云服务器提供商可靠性与信誉度

在云计算时代&#xff0c;选择一个可靠和信誉良好的云服务器提供商对于个人用户和企业来说至关重要。以下是评估云服务器提供商可靠性与信誉度的关键指标和方法&#xff1a; 1. 服务水平协议&#xff08;SLA&#xff09;&#xff1a; 可用性承诺&#xff1a; 查看云服务器提供…

服务器内存飙升分析小记

1. 写在最前面 这个繁忙的八月真的是转瞬即逝&#xff0c;我明明感觉似乎好像才八月刚开始&#xff0c;但是其实已经到了八月的尾巴。这个月本来想抽空整理一下学习 AI 模型相关的东西&#xff0c;奈何每天不是在查问题就是在查问题的路上&#xff0c;不是在修 Bug 就是在写 B…

AI Lossless Zoomer v3.1.0.0 — 超实用的AI无损图片放大工具

AI Lossless Zoomer 是一款基于腾讯开源 Real-ESRGAN 算法的 AI 图片无损放大工具&#xff0c;支持多线程和批量处理&#xff0c;具备自定义输出格式和路径等高级设置选项&#xff0c;并允许用户选择不同的 AI 引擎进行图片放大处理。此版本修复了一些小 bug&#xff0c;并增加…

Jhipster应用,cdn加速方案。

Jhipster, 采用springbootwebfluxreacttypescript技术栈。项目部署是采用k8shelm 部署在GCP上的&#xff0c;所以这个单体项目幕后是跑在pod上的。 项目上线后&#xff0c;发现单页面应用加载速度很慢&#xff0c;如图所示长时间处于加载状态&#xff1a; 仔细分析一下原因&am…

ESXi服务器无法安装Windows11:“不符合此版本的Windows所需最低系统要求“

目录 一、问题描述1.使用环境2.问题截图3.问题解析 二、解决方法Ⅰ1.按 ShiftF10 弹出命令提示符2.在弹出的Dos框中输入regedit&#xff0c;回车&#xff0c;进入注册表。3.打开HKEY_LOCAL_MACHINE\SYSTEM\Setup&#xff0c;并新建 LabConfig 的项&#xff0c;在 LabConfig 下创…