`
lykops
  • 浏览: 89278 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

kubernetes创建资源yaml文件例子--pod

 
阅读更多

kubernetes创建pod的yaml文件,参数说明

apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中
kind: Pod #指定创建资源的角色/类型
metadata: #资源的元数据/属性
  name: web04-pod #资源的名字,在同一个namespace中必须唯一
  labels: #设定资源的标签
    k8s-app: apache
    version: v1
    kubernetes.io/cluster-service: "true"
  annotations:            #自定义注解列表
    - name: String        #自定义注解名字
spec:#specification of the resource content 指定该资源的内容
  restartPolicy: Always #表明该容器一直运行,默认k8s的策略,在此容器退出后,会立即创建一个相同的容器
  nodeSelector:     #节点选择,先给主机打标签kubectl label nodes kube-node1 zone=node1
    zone: node1
  containers:
  - name: web04-pod #容器的名字
    image: web:apache #容器使用的镜像地址
    imagePullPolicy: Never #[Always|Never|IfNotPresent]获取镜像的策略
    command: ['sh'] #覆盖容器中的Entrypoint,对应Dockefile中的ENTRYPOINT
    args: ["$(str)"] #对应Dockerfile中CMD参数
    env: #指定容器中的环境变量
    - name: str #变量的名字
      value: "/etc/run.sh" #变量的值
    resources: #资源管理
      requests: #最小资源需求
        cpu: 0.1 #设置可以使用CPU个数,两种方式,浮点数或者是整数+m,0.1=100m
        memory: 32Mi #内存使用量
      limits: #资源限制
        cpu: 0.5
        memory: 32Mi
    ports:
    - containerPort: 80
      name: httpd
      protocol: TCP
    livenessProbe: #pod内容器健康检查的设置
      httpGet: #通过httpget检查健康,返回200-399之间,则认为容器正常
        path: / #URI地址
        port: 80
        #host: 127.0.0.1 #主机地址
        scheme: HTTP
      initialDelaySeconds: 180 #表明第一次检测在容器启动后多长时间后开始
      timeoutSeconds: 5 #检测的超时时间
      periodSeconds: 15  #检查间隔时间
      #也可以用这种方法
      #exec: 执行命令的方法进行监测,如果其退出码不为0,则认为容器正常
      #  command:
      #    - cat
      #    - /tmp/health
      #也可以用这种方法
      #tcpSocket: //通过tcpSocket检查健康 
      #  port: number 
    lifecycle: #生命周期管理
      postStart: #容器运行之前运行的任务
        exec:
          command:
            - 'sh'
            - 'yum upgrade -y'
      preStop:#容器关闭之前运行的任务
        exec:
          command: ['service httpd stop']
    volumeMounts:
    - name: volume #挂载设备的名字,与volumes[*].name 需要对应  
      mountPath: /data #挂载到容器的某个路径下
      readOnly: True
  volumes: #定义一组挂载设备
  - name: volume #定义一个挂载设备的名字
    #meptyDir: {}
    hostPath:
      path: /opt #挂载设备类型为hostPath,路径为宿主机下的/opt,这里设备类型支持很多种


分享到:
评论

相关推荐

    K8s中yaml文件详解(超详细)

    下面是使用YAML文件创建Pod的一个具体例子: ```yaml apiVersion: v1 kind: Pod metadata: name: my-pod labels: app: my-app spec: containers: - name: nginx-container image: nginx:latest ports: - ...

    k8s yaml 配置文件

    Kubernetes的YAML文件不仅限于Pods和Deployment,还包括Service、Ingress、PersistentVolume、ConfigMap等多种资源类型,每种资源类型都有其特定的YAML结构和参数配置。 YAML配置文件的灵活性和表达能力使得...

    kubernetes权威指南例子代码,k8s 例子 hello-world

    通过"hello-world"示例,你不仅会学习到如何创建和管理Kubernetes资源,还会理解Kubernetes的核心概念,如Pod、Deployment和服务。此外,它还能帮助你熟悉`kubectl`命令行工具,这是日常操作Kubernetes集群的关键。 ...

    k8s-二进制yaml.zip

    在“k8s-二进制yaml.zip”这个压缩包中,我们很显然关注的是Kubernetes的YAML配置文件,这些文件是k8s集群中定义和管理对象(如Pods、Services、Deployments等)的主要方式。YAML是一种易读的数据序列化语言,特别...

    kubernetes权威指南例子代码

    在 kubeguide-example-master 中,我们可能会看到如何使用 YAML 文件定义 Deployment,以及如何通过命令行工具 kubectl 来应用这些配置。 5. **ReplicaSet 保证副本数量** ReplicaSet 确保集群中有指定数量的 Pod ...

    40 _ Kubernetes的资源模型与资源管理1

    在资源管理方面,Pod的配置文件中包含了关于CPU和内存的请求(requests)和限制(limits)。 例如,下面的Pod配置展示了如何为两个容器(db和wp)分别设定资源请求和限制: ```yaml apiVersion: v1 kind: Pod ...

    k8s各个yaml配置参考.zip

    Kubernetes使用YAML文件进行资源配置管理,这是一种人类可读的数据序列化标准格式,非常适合用来描述和配置系统中的数据对象。本文将为您深入解析k8s中各个.yaml配置文件的作用和重要性。 首先,我们需要了解YAML...

    deploy.yaml

    在这个具体的例子中,deploy.yaml文件被用于配置Ingress-Nginx控制器,这是一类用于管理Kubernetes集群中服务的外部访问入口的控制器。 在部署基于k8s版本1.30的环境中,修改后的ingress-nginx配置文件可能包含了...

    Kubernetes-cka1.28.pdf

    之后,定义一个Pod的YAML文件,其中包含节点选择器,最后使用`kubectl apply`命令应用这个配置。 第五个任务涉及Persistent Volume(PV)的创建。PV是集群中的存储资源,可以被多个Pod共享。在这里,创建了一个名为...

    pod实验手册1

    在这个例子中,我们使用 `vim` 编辑器创建了一个名为 `mypod.yaml` 的文件,内容定义了一个 Pod,包括其 `kind`(Pod)、`apiVersion`(v1)以及 `metadata` 和 `spec` 部分。 `metadata` 包含了 Pod 的元数据,如...

    2021年CKS 最新大纲.docx

    在这个例子中,我们使用以下命令来下载 CIS Kubernetes Benchmark 的配置文件: ``` wget -O kube-bench-control-plane.yaml https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job-master.yaml kc ...

    k8s:yaml文件和文档

    在Kubernetes(k8s)生态系统中,YAML文件扮演着至关重要的角色,它们是部署、管理和配置集群的主要方式。本文将深入探讨YAML文件在Kubernetes中的应用以及相关文档的重要性。 首先,让我们理解YAML是什么。YAML...

    k8s之ServiceIngress,service-nodeport.yaml,mandatory.yaml

    `service-nodeport.yaml`文件通常用于创建一个NodePort类型的Service,这种类型可以让外部网络通过每个节点的特定端口来访问内部服务。配置文件可能包含如下内容: ```yaml apiVersion: v1 kind: Service metadata:...

    1、Kubernetes 调度器 - 调度说明.pdf

    - name: pod-with-second-annotation-container image: gcr.io/google_containers/pause:2.0 ``` 在这个例子中,Pod将不会使用默认的调度器`default-scheduler`,而是使用名为`my-scheduler`的自定义调度器进行...

    K8S监控blackbox-exporter镜像及资源清单文件

    在这个例子中,我们创建了一个名为`blackbox-exporter`的Deployment,使用了Prometheus官方的最新Blackbox Exporter镜像,并将`blackbox.yml`配置文件挂载到了容器内的`/etc/blackbox/config`目录。同时,我们创建了...

    2、Kubernetes 调度器 - 调度亲和性.pdf

    name: pod-3 spec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - frontend topologyKey: failure-...

    k8s:k8s yaml文件

    在Kubernetes(简称k8s)中,YAML文件扮演着至关重要的角色,它是k8s集群中定义、部署和管理资源的主要方式。Kubernetes使用YAML(YAML Ain't Markup Language)这种易于读写的语言来描述各种对象,如Pods、Services...

    DaemonSet实验手册1

    接着,我们使用`vim`编辑器创建了一个名为`DS-nginx.yaml`的yaml文件,这是Kubernetes资源定义的标准格式。 2. **定义DaemonSet**: 在`DS-nginx.yaml`文件中,我们定义了一个DaemonSet,其中`apiVersion`是`apps/...

    CKS - Practise - RBAC adn Kubesec.docx

    在例子中,`/root/kubesec-pod.yaml`这个文件被`kubesec`扫描,发现了一个问题:容器的安全上下文(`.securityContext`)允许特权模式(`privileged`)设置为`true`。这是一个潜在的安全风险,因为它允许容器以宿主机...

    kubernetes-in-action:来自 Kubernetes in Action 一书中的代码

    《Kubernetes 在行动》这本书是深入理解并实践 Kubernetes 集群管理的宝贵资源。书中涉及的代码示例旨在帮助读者更好地掌握 Kubernetes 的核心概念、工作原理以及实际部署技巧。这个压缩包“kubernetes-in-action-...

Global site tag (gtag.js) - Google Analytics