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

K8S声明式的管理方式

一、K8S声明式的管理方式:

1、适合对资源的修改操作

2、声明式管理依赖于yaml文件,所有的内容都在yaml文件中声明

3、编辑好的yml文件还是要靠陈述式命令发布到K8S集群中

二、K8S中支持三种声明式的资源管理方式:

1、deployment格式:用于配置和管理资源对象

apiversion:定义api版本

kind:定义资源的类型deployment\job\ingress\service\deamonset

metadata:定义创建资源的元数据信息、资源的名称--pod的名称、命名空间的名称、pod标签

       name:nginx1

       namespaces:命名空间可写可不写一般是注释掉的

       labels:定义标签

          app:nginx1

spec:配置deployment资源对象需要的参数属性,副本数,匹配的标签以及容器的重启策略

    replicas:3定义该资源pod数量也就是副本数

    selector:定义标签的选择器

       matchLabels:定义匹配的标签,这里得和全局保持一致

            app:nginx1

    template:定义业务模板,上面定义了三个副本,所有pod的属性都会和template的设置保持一致

      metedata:元数据

           lables:指定标签,也要和全局保持一致

              app:nginx1

以上为pod的内容,以下为pod内容器内容

     spec:定义pod内容器

         containers:定义镜像

         - name: nginx

            image:nginx:1.22

            ports:暴漏端口

            -  containerPort: 8080

如果nginx端口是默认的80,ports可以不加,因为写了也无法改变容器的端口,容器的端口是由dockerfile决定的;如果默认端口不是80就要ports做为声明,声明非默认端口。

 pod和容器是分开的也是合并的,镜像定义容器,pod不能改变镜像。

kubectl create deployment nginx1 --image=nginx:1.22 --replicas=3 -n xy102

 

配置修改过后apply -f就进行更改了

删除yaml文件就是相当于删除了所有资源对象

2.services类型书写

kubectl expose deployment nginx1 --port=80 --target-port=80 --name=nginx11 -n xy102   

3.pod模式:

 

 三、容器的重启策略和传参

1.restartPolicy:

Always:只要启动失败就会一直重启容器

Never:从不重启  

OnFailure:只有容器异常退出才会重启,返回码非零时才会对容器进行重启

Always: 

 

Never 

Onfailure:

2.pod内的传参:

command和args(属于容器内容):在yaml文件中二者不需要传参的情况下只能有一个,args可以给command传参。

command和args与docker中CMD和ENTRYPOINT意义相同

调用bin/bash

两种写法 

执行多个命令

-c:输出目录的格式    /bin/bash

 传参:

 

 不论是command还是args都会覆盖容器的标准输出

 

四、如何制作yaml文件模板

 


http://www.kler.cn/a/281984.html

相关文章:

  • gitlab容器的迁移(部署)并配置自动备份
  • Liunx-Ubuntu22.04.1系统下配置Anaconda+pycharm+pytorch-gpu环境配置
  • 在 Windows 11 中使用 MuMu 模拟器 12 国际版配置代理
  • 【计算机网络】水平触发与边缘触发有什么优缺点呢?
  • 浅谈数据仓库的架构及其演变
  • 数据科学与SQL:如何计算排列熵?| 基于SQL实现
  • RocketMQ第5集
  • Oracle使用手册
  • 【C#】静态成员(static)与实例成员(非静态成员)的理解
  • 为什么 PageHelper 不需要配置而 MP 需要?
  • 浅谈Kafka(二)
  • 一元四次方程求解-【附MATLAB代码】
  • blender修改材质时出现颜色丢失的问题
  • 基于单片机的一氧化碳报警系统的设计与实现
  • 算法笔记|Day37动态规划X
  • k8s探针详细学习笔记
  • day42 代码随想录 | 子序列问题 面试高频题
  • 【Material-UI】Slider 组件中的 Range Slider 详解
  • 【mysql】mysql之数据查询语言
  • 【C#】【EXCEL】BumblebeeComponentsAnalysisGH_Ex_Ana_CondScale.cs
  • 爬取数据时,如何避免违法问题
  • 文件包含之session.upload_progress的使用
  • IO进程day05(线程、同步、互斥、条件变量、进程间通信IPC)
  • pypcap、libpcap和pcap-ct的区别是什么
  • ShenNiusModularity项目源码学习(2:登录页面验证码)
  • 前端面试手撕题收集(自用)