K8S 通过 yaml 文件创建资源

创建 pod

cd ~
vi pod-demo.yaml
# 内容如下
apiVersion: v1
kind: Pod
metadata:
  name: pod-demo
  namespace: default
  labels:
    app: myapp
    tier: frontend
spec:
  containers:
  - name: myapp
    image: ikubernetes/myapp:v1
  - name: busybox
    image: busybox:latest
    command:
    - "/bin/sh"
    - "-c"
    - "sleep 3600"

# 使用 kubectl create 创建 pod
kubectl create -f pod-demo.yaml

# 这个 pod 里面有两个容器,一个是 myapp,一个是 busybox
# 查看日志
kubectl logs pod-demo myapp

# 进入 pod 中的容器内部
kubectl exec -it pod-demo -c myapp -- /bin/sh

创建 deployment

vi deploy-demo.yaml
# 内容如下
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deploy
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: myapp
      release: canary
  template:
    metadata:
      labels:
        app: myapp
        release: canary
    spec:
      containers:
      - name: myapp
        image: ikubernetes/myapp:v1
        ports:
        - name: http
          containerPort: 80

# 使用 kubectl apply 创建 deployment
kubectl apply -f deploy-demo.yaml 

# 通过 kubectl describe 查看 deployment 信息
kubectl describe deploy myapp-deploy

创建 DeamonSet

vi ds-demo.yaml
# 内容如下
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis
      role: logstor
  template:
    metadata:
      labels:
        app: redis
        role: logstor
    spec:
      containers:
      - name: redis
        image: redis:4.0-alpine
        ports:
        - name: redis
          containerPort: 6379

---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: myapp-ds
  namespace: default
spec:
  selector:
    matchLabels:
      app: filebeat
      release: stable
  template:
    metadata:
      labels:
        app: filebeat
        release: stable
    spec:
      containers:
      - name: filebeat
        image: ikubernetes/filebeat:5.6.5-alpine
        env:
        - name: REDIS_HOST
          value: redis.default.svc.cluster.local
        - name: REDIS_LOG_LEVEL
          value: info

原文地址:https://www.cnblogs.com/klvchen/p/9901514.html

时间: 2024-11-02 10:07:01

K8S 通过 yaml 文件创建资源的相关文章

K8s使用YAML文件创建资源

由于K8s技术的火爆,导致现在大大小小的企业都在使用,虽然没有普及,但本人相信时迟早的事情,所以抓紧时间多学习一下吧! 在K8s中创建资源的方式有两种:命令行和YAML文件,本次博文主要介绍使用YAML文件的方式,如需使用命令行创建资源请参考K8s资源对象的基本管理 Kubernetes中的YAML文件与配置清单是一样的,根据个人习惯.本次博文统称为YAML文件! 一.YAML文件基础 YAML是专门用来配置文件的语言,非常简洁和强大.与了解的properties.XML.json等数据格式,习

k8s之yaml详解

k8s之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: #自

k8s之yaml文件基本格式及底层负载均衡实现原理

本文只是自己的精简后的总结,若需要详细的资料,请绕步. 注:yaml文件严格要求缩进,默认不同层次等级是两个空格的缩进. 1.使用httpd镜像创建一个Deployment资源对象 [[email protected] ~]# vim lvjianzhao.yaml #编写yaml文件 kind: Deployment #指定要创建的资源对象类型 apiVersion: extensions/v1beta1 #指定deployment所对应的API版本 metadata: name: lvjia

k8s的yaml说明

k8s yaml # yaml格式的pod定义文件完整内容: apiVersion: v1 #必选,版本号,例如v1 kind: Pod #必选,Pod metadata: #必选,元数据 name: string #必选,Pod名称 namespace: string #必选,Pod所属的命名空间 labels: #自定义标签 - name: string #自定义标签名字 annotations: #自定义注释列表 - name: string spec: #必选,Pod中容器的详细定义 c

k8s的 Job/CronJob资源对象及添加api版本

Job资源对象 服务类的Pod容器:RC.RS.DS.Deployment 工作类的Pod容器:Job--->执行一次,或者批量执行处理程序,完成之后退出容器. 注意: 如果容器内执行任务有误,会根据容器的重启策略操作容器,不过这里的容器重启策略只能是: Never和 OnFailure. 概念 在有些场景下,是想要运行一些容器执行某种特定的任务,任务一旦执行完成,容器也就没有存在的必要了.在这种场景下,创建pod就显得不那么合适.于是就是了Job,Job指的就是那些一次性任务.通过Job运行一

K8s之YAML文件

Kubernetes支持YAML和JSON格式创建资源对象 1,JSON格式用于接口之间消息的传递2,YAML格式用于配置和管理3,YAML是一种简洁的非标记性语言 语法格式: 缩进标识层级关系不支持制表符(tab)缩进,使用空格缩进通常开头缩进两个空格字符后缩进一个空格,如冒号,逗号等"---"表示YAML格式,一个文件的开始"#"表示注释 `查看应用名称` [[email protected] ~]# kubectl api-versions admission

.net core i上 K8S(三)Yaml文件运行.netcore程序

上一章我们通过kubectl run简单运行了一个.netcore网站,但实际的开发中,我们都是通过yaml来实现的. 1.编写yaml文件 关于yaml文件的格式在此就不多描述了,不熟悉的可以去网上搜一下示例. apiVersion: apps/v1beta2 #指定版本,支持的版本可以通过kubectl api-versions查询 kind: Deployment #指定类型,这一次我们要创建一个Deployment metadata: #元数据 name: cys-netcore #de

k8s Metrics Server 获取资源指标与 hpa 部署

使用 helm 部署 Metrics Server helm repo add bitnami https://charts.bitnami.com/bitnami helm install bitnami/metrics-server 会有报错,执行以下命令 helm upgrade loopy-saola bitnami/metrics-server --set apiService.create=true $ kubectl get pod 查看节点 loopy-saola-metrics

k8s中node节点资源不足

节点资源耗尽状态 1.查看节点组件的状态 2.查看节点上pod的状态 查看日志内容发现如下内容: 1.Node emay-CMPP01 status is now: NodeHasDiskPressure 2.Warning: "EvictionThresholdMet Attempting to reclaim nodefs" 从以上内容大致可以判断出node3处于磁盘空间不足的状态下,并且该node上的kubelet daemon判断达到了Eviction阀值,试图回收磁盘空间(通