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

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

 
阅读更多

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

apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中  
kind: Pod #指定创建资源的角色/类型  
metadata: #资源的元数据/属性  
  name: web04-pod #资源的名字,在同一个namespace中必须唯一  
  labels: #设定资源的标签,详情请见http://blog.csdn.net/liyingke112/article/details/77482384
    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,每次启动时检查和更新(从registery)images的策略,
                           # Always,每次都检查
                           # Never,每次都不检查(不管本地是否有)
                           # IfNotPresent,如果本地有就不检查,如果没有就拉取
    command: ['sh'] #启动容器的运行命令,将覆盖容器中的Entrypoint,对应Dockefile中的ENTRYPOINT  
    args: ["$(str)"] #启动容器的命令参数,对应Dockerfile中CMD参数  
    env: #指定容器中的环境变量  
    - name: str #变量的名字  
      value: "/etc/run.sh" #变量的值  
    resources: #资源管理,请求请见http://blog.csdn.net/liyingke112/article/details/77452630
      requests: #容器运行时,最低资源需求,也就是说最少需要多少资源容器才能正常运行  
        cpu: 0.1 #CPU资源(核数),两种方式,浮点数或者是整数+m,0.1=100m,最少值为0.001核(1m)
        memory: 32Mi #内存使用量  
      limits: #资源限制  
        cpu: 0.5  
        memory: 32Mi  
    ports:  
    - containerPort: 80 #容器开发对外的端口
      name: httpd  #名称
      protocol: TCP  
    livenessProbe: #pod内容器健康检查的设置,详情请见http://blog.csdn.net/liyingke112/article/details/77531584
      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:  #详情请见http://blog.csdn.net/liyingke112/article/details/76577520
    - 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配置文件还需要掌握Kubernetes的资源对象模型、生命周期管理、标签和选择器的使用、持久化存储的配置、网络策略的定义等高级概念。通过掌握这些知识,开发者和运维人员能够更好地管理...

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

    "hello-world"的YAML文件会包含一个Deployment对象,它定义了应用的版本、副本数量以及如何构建Pod(Kubernetes的基本执行单元)。 2. **创建Deployment**:使用`kubectl apply -f`命令,你可以将YAML文件应用到...

    k8s-二进制yaml.zip

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

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

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

    k8s各个yaml配置参考.zip

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

    kubernetes权威指南例子代码

    《Kubernetes权威指南》是一本深入探讨 Kubernetes 集群管理、应用部署和服务发现的经典教程。这本书通过详尽的实例代码,帮助读者理解和掌握 Kubernetes 的核心概念与实践操作。在这个压缩包“kubeguide-example-...

    pod实验手册1

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

    Kubernetes-cka1.28.pdf

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

    deploy.yaml

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

    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文件和文档

    YAML文件通常具有`.yaml`或`.yml`扩展名,它们包含了定义Kubernetes对象所需的所有元数据,如部署、服务、副本集、配置映射等。 Kubernetes YAML文件结构清晰,由键值对组成,使用缩进表示层次关系。一个基本的YAML...

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

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

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

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

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

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

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

    DaemonSet实验手册1

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

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

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

    CKS - Practise - RBAC adn Kubesec.docx

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

Global site tag (gtag.js) - Google Analytics