命令 vs 配置文件

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

1. 用 kubectl 命令直接创建

kubectl run nginx-deployment --image=nginx:1.7. --replicas=

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

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个,缺省为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

k8s创建资源的两种方式的更多相关文章

  1. k8s创建资源的两种方式及DaemonSet应用(5)

    一.创建方式分类 Kubernetes 支持两种方式创建资源: (1)用 kubectl 命令直接创建,比如: kubectl run httpd-app --image=reg.yunwei.com ...

  2. k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)

    命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...

  3. k8s 创建资源的两种方式【转】

    命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...

  4. k8s创建资源的两种方式(5)

    一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令直接创建,比如: kubectl run httpd-app --image=reg ...

  5. 第5篇K8S创建资源的两种方式

      一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令直接创建,比如: kubectl run httpd-app --image=r ...

  6. centos7下kubernetes(6。kubernetes创建资源的两种方式)

    两种方式:1.命令:2.配置文件 之前我们在部署K8S的时候分别用到了命令和配置文件创建K8s资源: 1.命令方式:kubectl run nginx-deployment --image=nginx ...

  7. pod(一):Kubernetes(k8s)创建pod的两种方式

    目录 一.系统环境 二.前言 三.pod 四.创建pod 4.1 环境介绍 4.2 使用命令行的方式创建pod 4.2.1 创建最简单的pod 4.2.2 创建pod,指定镜像下载策略 4.2.3 创 ...

  8. kubernetes创建资源的两种方式

    一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令行的方式直接创建,比如: kubectl run httpd-app --image ...

  9. kubernetes第五章--创建资源的两种方式

随机推荐

  1. 软工实践Beta冲刺(4/7)

    队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 1.界面的修改与完善 展示GitHub当日代码/文档签入记 ...

  2. 软工实践Beta冲刺(1/7)

    队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 1.界面的修改与完善 展示GitHub当日代码/文档签入记 ...

  3. Mybatis学习系列(三)动态SQL

    在mapper配置文件中,有时需要根据查询条件选择不同的SQL语句,或者将一些使用频率高的SQL语句单独配置,在需要使用的地方引用.Mybatis的一个特性:动态SQL,来解决这个问题. mybati ...

  4. oracle ocp 052考试学习

    1.数据字典存储在SYSTEM表空间中. 2.SYSAUX可以offline: SQL>alter tablespace sysaux offline; 3.SYSTEM和SYSAUX都是永久表 ...

  5. 5for Java

    ① 从字符串“耿丹计算机Java20170320”中提取日期 public class Xx1 { /** * @param args */ public static void main(Strin ...

  6. 前端工程师必须要知道的SEO技巧(2):制作比设计还要漂亮的代码(内容和语义化代码)实现下

    提醒自己:上一篇文章属于纯理论的文章,我自己有的部分之从网上摘抄的,我自己也是不理解的.或许过一段日子我就能全明白了.我自己还是喜欢实战,做几个例子就明白了. 怎么做让自己网页的标签来实现语义化,我直 ...

  7. 2017 Multi-University Training Contest - Team 2 TrickGCD(组合数学)

    题目大意: 给你一个序列An,然后求有多少个序列Bn 满足Bi<=Ai,且这个序列的gcd不为1 题解: 考虑这样做 枚举一个因子k,然后求出有多少个序列的gcd包含这个因子k 然后把结果容斥一 ...

  8. SCOI2010 传送带 [三分/模拟退火]

    题目描述 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R.现在lxh ...

  9. js中Date()对象详解

    var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...

  10. netty的Udp单播、组播、广播实例+Java的Udp单播、组播、广播实例

    网络上缺乏netty的udp的单播.组播案例,经过一番学习总结之后终于把这两个案例调通,下面把这两个案例的代码放在这里分享一下. 首先推荐博文: http://colobu.com/2014/10/2 ...