`
lykops
  • 浏览: 86351 次
  • 性别: 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: - ...

    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监控blackbox-exporter镜像及资源清单文件

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

    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: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-...

    七、kubernetes Service详解.pdf

    在Kubernetes中,Pod的IP地址不是固定的,因为Pod随时可能因为各种原因(如资源不足、节点故障等)而被创建或销毁,因此直接通过Pod IP进行服务访问是不稳定的。Service则为Pod提供了固定的虚拟IP地址(Cluster IP)...

    k8s集群部署hello应用实例

    在我们的例子中,"hello"应用将被部署为一个Pod,Pod是Kubernetes中最小的可部署单元,它可以包含一个或多个紧密相关的容器。 1. **创建Deployment** 我们将使用`Deployment`资源来定义应用的副本数量、镜像版本...

    15 _ 深入解析Pod对象(二):使用进阶1

    在实际应用中,我们可以通过`kubectl create secret`命令创建Secret,如上面的例子所示,从文件中读取数据并创建对应的Secret对象。然后,在Pod的定义中引用这些Secret,以将它们挂载到容器的适当路径下。 总结来说...

Global site tag (gtag.js) - Google Analytics