K8S之使用yaml格式定义pod

这篇具有很好参考价值的文章主要介绍了K8S之使用yaml格式定义pod。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

mysql-pod.yaml

# overView: 
# 1. web服务与db打包放在同一个pod中,本地通过localhost来访问,并附带存活性/可用性检测
# 2. 补充重启策略/镜像拉去策略
# 3. 对容器资源进行限制

apiVersion: apps/v1
kind: Pod
metadata:
  name: pub-oa
  namespace: hunter
  labels:
    component: pub-oa
spec:
  restartPolicy: onFailure # 设置重启策略,此外还有 Always, Never方式
  volumes:
    - name: mysql
      hostPath:
        path: /opt/mysql/data
  nodeSelector:
    component: prod-k8s-node1 # kubectl label node prod-k8s-node1 component=prod-k8s-node1
  containers:
    - name: pub-oa-db
      image: rigistry.cn-shanghai.aliyuncs.com/pub-oa-db:v1
      imagePullPolicy: IfNotPresent # 镜像拉去策略,此外还有Always, Never
      ports:
        - containerPort: 3306
      env:
        - name: MYSQL_USER
          valueFrom:
            secretKeyRef:
              name: pub-oa
              key: MYSQL_USER
        - name: MYSQL_PASSWORD
          valueFrom:
            secretKeyRef:
              name: pub-oa
              key: MYSQL_PASSWORD
      resources: # 容器资源限制
        requests:
          memory: 100Mi # 当pod内存超过100Mi时,会报OOM
          cpu: 50m # 当cpu超过limit限制时,不会被kill,但是会限制不超过limit值,1 CPU = 1000 millicpu(1 core = 1000m(毫核)),cpu资源是按 “时间片”的方式来分配的
        limits:
          memory: 500Mi
          cpu: 100m
      volumeMounts:
        - name: mysql
          mountPath: /var/lib/mysql
        

web-pod.yaml

# overView: 
# 1. web服务与db打包放在同一个pod中,本地通过localhost来访问,并附带存活性/可用性检测
# 2. 补充重启策略/镜像拉去策略
# 3. 对容器资源进行限制
 
apiVersion: apps/v1
kind: Pod
metadata:
  name: pub-oa
  namespace: hunter
  labels:
    component: pub-oa
spec:
  restartPolicy: onFailure # 设置重启策略,此外还有 Always, Never方式
  nodeSelector:
    component: prod-k8s-node1 # kubectl label node prod-k8s-node1 component=prod-k8s-node1
  containers:
    - name: pub-oa-web
      image: rigistry.cn-shanghai.aliyuncs.com/pub-oa-app:v1
      imagePullPolicy: IfNotPresent # 镜像拉去策略,此外还有Always, Never
      ports:
        - containerPort: 8080
      env:
        - name: MYSQL_HOST
          valueFrom:
            secretKeyRef:
              name: pub-oa
              key: MYSQL_HOST
        - name: MYSQL_PORT
          valueFrom:
            secretKeyRef:
              name: pub-oa
              key: MYSQL_PORT
        - name: MYSQL_USER
          valueFrom:
            secretKeyRef:
              name: pub-oa
              key: MYSQL_USER
        - name: MYSQL_PASSWORD
          valueFrom:
            secretKeyRef:
              name: pub-oa
              key: MYSQL_PASSWORD
      livenessProbe: # 存活性探测
        httpGet: # 此外还有 exec,tcpSocket类型
          path: /code-library/listCodeLibrary
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 10 # 容器启动后,第一次执行探测时需要等待多少秒
        periodSeconds: 10 # 执行探测的频率
        timeoutSeconds: 2 # 探测超时时间
      readinessProbe: # 可用性探测
        httpGet: # 此外还有 exec,tcpSocket类型
          path: /code-library/listCodeLibrary
          port: 8080
          scheme: HTTP
        initialDelaySeconds: 10 # 容器启动后,第一次执行探测时需要等待多少秒
        periodSeconds: 10 # 执行探测的频率
        timeoutSeconds: 2 # 探测超时时间
      resources: # 容器资源限制
        requests:
          memory: 100Mi # 当pod内存超过100Mi时,会报OOM
          cpu: 50m # 当cpu超过limit限制时,不会被kill,但是会限制不超过limit值,1 CPU = 1000 millicpu(1 core = 1000m(毫核)),cpu资源是按 “时间片”的方式来分配的
        limits:
          memory: 500Mi
          cpu: 100m
      volumeMounts:
        - name: mysql
          mountPath: /var/lib/mysql

configMap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: pub-oa
  namespace: hunter
data:
  MYSQL_HOST: 192.168.179.141
  MYSQL_PORT: 3306

sceret.yaml

apiVersion: v1
kind: Secret
metadata:
  name: pub-oa
  namespace: hunter
type: Opaque
data:
  MYSQL_USER: cm9vdA== # 注意加-n参数,echo -n root|base64
  MYSQL_PASSWORD: aHVudGVy

文章来源地址https://www.toymoban.com/news/detail-700197.html

到了这里,关于K8S之使用yaml格式定义pod的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8S---yaml文件详解

    目录 一、K8S支持的文件格式 1、yaml和json的主要区别 2、YAML语言格式 二、YAML 1、查看 API 资源版本标签 2、编写资源配置清单 2.1 编写 nginx-test.yaml 资源配置清单 2.2 创建资源对象 2.3 查看创建的pod资源 3、创建service服务对外提供访问并测试 3.1 编写nginx-svc-test.yaml文件 3.2 创建资

    2024年02月12日
    浏览(29)
  • K8S:Yaml文件详解

    目录 一.Yaml文件详解 1.Yaml文件格式 2.YAML 语法格式 二.Yaml文件编写及相关概念 1.查看 api 资源版本标签 2.yaml编写案例 (2)Deployment类型编写nginx服务 (3)k8s集群中的port介绍 (5)快速编写yaml文件 (6)案例:自主式创建service并关联上面的pod (7)Pod yaml文件详解 (8)deploymen

    2024年02月08日
    浏览(37)
  • [ K8S ] yaml文件讲解

    Kubernetes 支持 YAML 和 JSON 格式管理资源对象 JSON 格式:主要用于 api 接口之间消息的传递 YAML 格式:用于配置和管理,YAML 是一种简洁的非标记性语言,内容格式人性化,较易读 YAML 语法格式: ●大小写敏感 ●使用缩进表示层级关系 ●不支持Tab键制表符缩进,只使用空格缩进

    2024年02月13日
    浏览(32)
  • K8S之yaml文件详解

    文章目录 一、概述 二、YAML文件优点 三、YAML与 JSON 和 XML 的关系 四、YAML 文件的结构 五、YAML 在 Kubernetes 中的使用 六、YAML文件模板生成/导出 一、概述  Kubernetes只支持YAML和JSON格式创建资源对象 JSON格式用于接口之间消息的传递,YAML格式用于配置和管理 YAML是专门用来写配置

    2024年02月02日
    浏览(38)
  • K8s中yaml文件详解

    文章目录 目录 一、YAML基础 二、说明 三、使用YAML创建Pod 附上一个具体的yaml解释文件: YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便。它实质上是一种通用的数据串行化格式。 YAML语法规则: 1.1 YAML Maps Map顾名思义指的是字典,即一个Key:Value 的键值

    2024年02月15日
    浏览(41)
  • 微服务探索之路06篇k8s配置文件Yaml部署Redis使用Helm部署MongoDB和kafka

    1.1创建配置文件redis.conf 切换到自己的目录下如本文是放在/home/ubuntu下 cd /home/ubuntu vim redis.conf 1.2创建deployment配置文件 vim redis.yaml 1.创建k8sConfig Maps配置文件 kubectl create cm redis-conf --from-file=redis.conf 2.部署redis Deployments kubectl create -f redis.yaml 3.将资源公开一个新的服务service`kube

    2024年02月16日
    浏览(29)
  • k8s之YAML文件书写秘笈

                 在kubernetes的江湖里,一直流传YAML的传说,它是Yet Another Markup Language的英文缩写,用来配置k8s里的各类资源.。通常,你可以选择YAML或JSON来完成声明式的配置文件,这种方式便于复用和保存,但命令式的方式有一定的局限性,仅有部分kubernetes资源可以使用命令

    2024年01月18日
    浏览(35)
  • kubernetes(k8s) Yaml 文件详解

    YAML格式 :用于配置和管理,YAML是一种简洁的非标记性语言,内容格式人性化,较易读。 1、查看API 资源版本标签 kubectl api-versions 2、编写资源配置清单 2.3 查看创建的pod资源 kubectl get pods -o wide 3、创建service服务对外提供访问并测试 3.1、编写nginx-svc-test.yaml文件 3.2、创建资源

    2024年02月05日
    浏览(34)
  • K8S - 架构、常用K8S命令、yaml资源清单部署、Ingress、故障排查、存储卷

    K8S官网文档:https://kubernetes.io/zh/docs/home/ 学习东西还是要从官方文档入手; 用于管理、扩展、自动部署容器; 其实就是 对多个跨机器的Docker集群; 服务发现和负载均衡 Kubernetes 可以使用 DNS 名称或自己的 IP 地址来暴露容器。 如果进入容器的流量很大, Kubernetes 可以负载均

    2024年02月09日
    浏览(48)
  • k8s-如何快速编写yaml文件(新手)

    但是这个过程并没有在集群中执行,只是把结果通过yaml格式的方式输出出来,包括咱们可把它输出到文件里 场景:适用于部署好的项目,可以把部署好的项目中的yaml文件导出出来,实际效果比较实用

    2024年02月13日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包