02-yaml资源文件

2023-09-18 10:47:10

1、创建pod的基础文件

  • 创建pod的yaml文件详解
---
apiVersion: extensions/v1beta1         #当前格式的版本
kind: Deployment                       #当前创建资源的类型, 当前类型是Deployment
metadata:                              #当前资源的元数据
  name: test-os                        #当前资源的名字 是元数据必须的项
spec:                                  #是当前Deployment的规格说明
  replicas: 1                          #指当前创建的副本数量 默认不填 默认值就为‘1’
  template:                            #定义pod的模板
    metadata:                          #当前pod的元数据
      labels:                          #至少顶一个labels标签,可任意创建一个 key:value
        app: test_os
    spec:                              #当前pod的规格说明
      containers:                      #容器
      - name: centos                   #是容器的名字容器名字是必须填写的
        image: harbor.soft72.com:8080/public/myos:latest         #镜像 镜像的名字和版本
        imagePullPolicy: IfNotPresent   #镜像在宿主机上不存在时才拉取
        stdin: true
        tty: true
---
apiVersion: v1
kind: Service                           #指定资源类型
metadata:                               
  name: web-service                     #指定service的名称
  namespace: default                    
spec:
  clusterIP: 10.254.254.110             #指定service的集群IP,自己可以规划,只能在集群内访问(pod内做负载)
  ports:
  - port: 80                            #指定service前端端口
    targetPort: 80                      #指定目标端口,即容器的服务端口,
    nodePort:
    protocol: TCP
  selector:
    app: web                            #指定服务的名字
  type: ClusterIP
cat web-service.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  namespace: kube-public
spec:
  clusterIP: 10.254.254.110
  ports:
  - port: 88        #clusterip的端口
    targetPort: 80  #pod的端口
    nodePort: 30002 #映射到kube-node的端口
    protocol: TCP
  selector:
    app: nginx-lab
  type: NodePort
  • kubectl命令
如何使用资源文件
使用资源文件管理对象
 - [x] kubectl (apply | create | delete) -f 资源文件
 - [x] create 创建资源对象、apply 升级更新资源对象
 - [x] delete 删除资源对象
[root@kube-master ~]# kubectl create -f baseos.yaml 
[root@kube-master ~]# kubectl delete -f baseos.yaml 

2、configmap映射

2.1、ConfigMap定义

ConfigMap 用于解决容器内的配置文件更新修改的问题

 - [x] 获取 httpd.conf, 并做出相应的修改
 - [x] 创建 configmap
 - [x] kubectl create configmap 名称 --from-file=文件路径
使用拷贝的文件 httpd.conf,创建一个 configmap,名称为 my-httpd
[root@kube-master files]# kubectl create configmap my-httpd --from-file=/root/files/httpd.conf
># httpd.conf是已经修改过的文件

2.2、参数详解

---
apiVersion: extensions/v1beta1         #当前格式的版本
kind: Deployment                       #当前创建资源的类型, 当前类型是Deployment
metadata:                              #当前资源的元数据
  name: web-test                       #当前资源的名字 是元数据必须的项
spec:                                  #是当前Deployment的规格说明
  replicas: 1                          #指当前创建的副本数量 默认不填 默认值就为‘1’
  template:                            #定义pod的模板
    metadata:                          #当前pod的元数据
      labels:                          #至少顶一个labels标签,可任意创建一个 key:value
        app: web-test
    spec:                              #当前pod的规格说明
      containers:                      #容器
      - name: web-test                 #是容器的名字容器名字是必须填写的
        image: 192.168.1.100:5000/myos:httpd    #镜像 镜像的名字和版本
        ports:
        - containerPort: 8080                   #声明容器端口号
        volumeMounts:
        - mountPath: /var/webroot               #目标路径
          name: site-data                       #引用卷映射定义 (自定义名称,相当于是标识ID)
        - mountPath: /etc/httpd/conf/httpd.conf #映射完全路径
          name: my-config                       #引用卷映射定义 (自定义名称,相当于是标识ID)
          subPath: httpd.conf                   #目标文件名
      volumes:
      - name: site-data
        emptyDir: {}
      - name: my-config                         #定义卷资源名称
        configMap:
          name: my-httpd                        #引用的 configmap 配置名(kubectl create configmap 创建的)
          items:
          - key: httpd.conf
            path: httpd.conf

创建

[root@kube-master ~]# kubectl create -f configmap.yaml 

练习


更多推荐

Prometheus+Grafana可视化监控【MySQL状态】

文章目录一、安装Docker二、安装MySQL数据库(Docker容器方式)三、安装Prometheus四、安装Grafana五、Pronetheus和Grafana相关联六、安装mysqld_exporter七、Grafana添加MySQL监控模板一、安装Docker注意:我这里使用之前写好脚本进行安装Docker,

rsyslog-日志管理 logrotate-日志轮转

日志的管理的方式,以及怎么自己写一个管理日志的小脚本,其实也不能算脚本管理日志的进程rsyslogd:绝大部分日志记录,和系统操作有关,安全,认证sshd,su,计划任务at,cron…httpd/nginx/mysql:可以自己的方式记录日志psaux|greprsyslogd|grep-vgrep#最后这个管道后面

pytorch学习1

前言王者之争核心之争在于动态图优先还是静态图优先pytorch是动态计算生成新变量tf是先定义变量,再生成回归问题1、梯度下降算法了解[梯度算法是深度学习的核心,deeplearning求解复杂问题主要靠的是梯度下降算法,故deeplearning近似等于gradientprograming.]类似于高中所学的求导问题

Python 文件介绍和正则表达式

文章目录Python文件和正则表达式文件打开文件读取文件直接读取read():逐行读取采用**for**循环:采用readlines():正则表达式匹配规则re模块match方法:search方法group方法split方法编译:compile方法Python文件和正则表达式文件打开文件open函数用来打开文件,常用模

5个小功能掌握正则表达式的使用

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~这篇文章通过实现5个小功能,来讲述在Java中如何使用正则。Java中如何使用正则Java中正则相关类位于java.util.regex包下,主要使用2个类,如下:Pattern类:Pattern是正则表达式regex的编译表示形式Mat

手机上免费更改地址大全

大家好!今天我要分享一篇关于在手机上如何更改地址的文章。在互联网时代,地址是我们在网络世界中的身份标识,而更改地址可以为我们带来诸多便利。掌接下来,就让我们一起来了解手机上如何更改地址的全面指南吧!1.使用虚拟专用网络(虚拟私人网络)虚拟专用网络是一个常用并且有效的方法,可以帮助您更改手机上的地址。通过连接到虚拟专用网

xss渗透(跨站脚本攻击)

一、什么是XSS?XSS全称是CrossSiteScripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了。这里我们主要注意四点:1、目标网站目标用户;2、浏览器;3、不被预期;4、脚本。二、XSS有什么危害?当我们知道了什么是XSS后,也一定很想知

【Linux基础命令】nmtui命令使用实战

前言linux常用命令专栏已进入尾声,大约90个命令是日常工作中常用的,在拓展一些不常用的,也就100左右。是不是总结下来后,就感觉要学的内容没有那么多了。当然有些专属的基础命令不在本专栏内,比如LVM管理命令,RAID管理命令。后面还会继续添加一些shell中常用的命令。文章目录前言一.nmcui的介绍二.语法格式及

shared_ptr用法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、初步了解二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,

高精度PWM脉宽调制信号转模拟信号隔离变送器1Hz~10KHz转0-5V/0-10V/1-5V/0-10mA/0-20mA/4-20mA

主要特性:>>精度等级:0.1级。产品出厂前已检验校正,用户可以直接使用>>辅助电源:8-32V宽范围供电>>PWM脉宽调制信号输入:1Hz~10KHz>>输出标准信号:0-5V/0-10V/1-5V,0-10mA/0-20mA/4-20mA等,具有高负载能力>>全量程范围内极高的线性度(非线性度<0.2%)>>标准D

数据结构——图的应用

文章目录前言一、图的应用1.最小生成树普里姆(Prim)算法克鲁斯卡尔(Kruskal)算法2.最短路径Dijkstra算法求单源最短路径3.拓扑结构4.关键路径总结前言图的应用1.1最小生成树1.2最短路径1.3拓扑结构1.4关键路径一、图的应用1.最小生成树定义:从图中选取若干条边,将所有顶点连接起来,并且所选取的

热文推荐