zoukankan      html  css  js  c++  java
  • k8s创建资源的两种方式

    命令 vs 配置文件

    Kubernetes 支持两种方式创建资源:

    1. 用 kubectl 命令直接创建

    kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2

    在命令行中通过参数指定资源的属性。

    2. 通过配置文件和 kubectl apply 创建

    要完成前面同样的工作,可执行命令:

    [root@k8s-master k8s]# kubectl apply -f nginx.yaml
    deployment.extensions/nginx-deployment configured

    3.nginx.yml 的内容说明

    apiVersion: extensions/v1beta1 #api的版本
    kind: Deployment          #资源的类型
    metadata:                 #资源的元数据
      name: nginx-deployment  #资源的名称
    spec:                     #资源的说明
      replicas: 2             #副本2个,缺省为1
      template:               #pod模板
        metadata:             #pod元数据
          labels:            #标签
            app: web_server    #标签选择器
        spec:
          containers:
          - name: nginx
            image: nginx:1.79

    资源的属性写在配置文件中,文件格式为 YAML。

     这种配置文件对格式的要求极为严格,缩进不能错,空格不能少打,vim编辑器的高亮提示会对我们写配置文件有帮助,如果语法错误会检测到。

    4.这两种方式进行比较

    基于命令的方式:

    1. 简单直观快捷,上手快。

    2. 适合临时测试或实验。

    基于配置文件的方式:

    1. 配置文件描述了 What,即应用最终要达到的状态。

    2. 配置文件提供了创建资源的模板,能够重复部署。

    3. 可以像管理代码一样管理部署。

    4. 适合正式的、跨环境的、规模化部署。

    5. 这种方式要求熟悉配置文件的语法,有一定难度。

    kubectl apply 不但能够创建 Kubernetes 资源,也能对资源进行更新,非常方便。不过 Kubernets 还提供了几个类似的命令,例如 kubectl createkubectl replacekubectl edit 和 kubectl patch

    为避免造成不必要的困扰,我们会尽量只使用 kubectl apply
    此命令已经能够应对超过 90% 的场景,事半功倍。

    5.资源的删除

    配置文件创建的资源 也可以用之前的方式删除

    [root@k8s-master k8s]# kubectl apply -f  nginx.yaml  
    deployment.extensions/nginx-deployment created

    指定配置删除

    [root@k8s-master k8s]# kubectl delete -f  nginx.yaml      
    deployment.extensions "nginx-deployment" deleted
  • 相关阅读:
    JMeter和JMeterPlugin 下载安装
    Beanshell语法
    逻辑控制器
    常用配置元件
    jmeter结构体系
    正则表达式提取器
    ab 测试工具
    spring cloud_docker
    jmeter+maven
    TFS
  • 原文地址:https://www.cnblogs.com/benjamin77/p/9900419.html
Copyright © 2011-2022 走看看