当前位置: 首页 > 网络应用技术

YAML结构和K8S中的施工组件

时间:2023-03-07 14:42:57 网络应用技术

  在K8中使用YAML会带来一些好处

  请注意,查询API必须首先执行kubectl代理,然后才能执行认证

  地图由键值组成。非常方便地描述设置,例如

  第一行是分离线。如果要以一个YAML编写多个对象设置,则可以使用它来区分。

  如果只有一组设置,则可以省略。如果您熟悉JSON,则上述设置等于以下JSON

  看一个更复杂的结构

  这只是一个带有地图的复杂结构,其中包含它并包含它。在习惯方面,我们将使用两个空白来描述所包含的内容

  对齐对空间的数量很重要,并且必须是一致的。如果要使用四个空格,则整个文件必须由四个空间组成才能化妆

  相应的JSON主席就是这样

  例如,列出-Beginning并添加一个空间,例如

  Json将成为

  当然,地图也可以是列表的成员

  还记得如何使用kubectl部署YAML文件吗?尝试以下说明

  恭喜!终于完成了第一个POD对象的部署。

  K8中有各种对象(POD,Service,...),以及K8S中描述的这些对象

  简单地说,用户的任务是清楚地描述每个对象的“想要”的外观。当K8接收到所述对象时,它将“努力工作”以将对象调整为用户想要的内容

  那么用户如何描述对象?答案是编写spec.in k8s,我们可以构建.yaml文件以编写spec,也就是说,描述对象。below是描述部署对象的一个简单示例,名为simple.yaml

  以下说明上述简单.yaml文件

  使用YAML文件,我们可以通过kubectl执行以下命令进行部署

  您看到它设置的位置吗?看看!

  由于我们没有指定名称空间,因此NGINX将部署在此预设名称空间中,并且可以执行以下指令查询

  可以发现总共运行的三个豆荚,这意味着我们已经成功完成了部署

  每个对象建筑物都会有不同的名称,因此上面的POD的名称可能不同。

  看到这一点,您应该很好奇如何连接到运行nignix的Pod。不要首先担心,让我们讨论K8中常用的对象。

  K8中最小的单元也是K8中部署的基本单元。

  一个应用程序可能有很多实例,即许多豆荚

  可以将应用程序想象为网站,并且可以在K8中部署多个(多个POD),以实现水平扩展以应对更多的访问需求。

  在同一吊舱中运行的容器将

  请注意!POD在特征方面是暂时的,这意味着在需要时(包括存储区域)时不需要它时。此外,POD本身无法完成不同的功能,例如复制,自我修理等等,因此需要通过其他控制项目来实现。常见的控制项目包括部署,复制品等。

  Replicaset的主要功能是确保可以实现POD指定的运行数量。在上面的示例中,我们希望在K8S群集中运行三个POD。当Replicaset检测到此需求时,它将检查当前是否是否国家满足。如果不满足,它将尝试将状态调整为指定状态。

  在大多数情况下,我们不需要直接操作replicaset,而是要声明部署对象。由于部署已经包含Replicaset的处理

  POD(SPEC)的内容和要在部署对象中运行的数字。此外,如果要更改POD的内容,则还可以在应用新内容之前直接修改部署对象。

  有关更多对象描述,请参阅了解Kubernetes对象

  就应用程序而言,K8S群集可能会运行数十个对象,而K8S则使用标签(键值)来标记K8S对象(不仅是PODS)。通过适当的标记,K8S可以区分与不同对象的环境。,它可以分为前端和后端应用程序,可以区分开发和形式环境。我们使用POD对象作为示例

  上图表明,K8中有6个豆荚,其中三个来自Franten和后端。在正式环境中有两个豆荚测试POD。

  标签内容(键值)是由环境定义的,而无需硬化

  如果有不同的组,他们想使用相同的K8,但不想互相影响。或者您想区分开发环境和正式环境(上面的示例在同一名称空间中运行),此时您可以使用K8提供的名称空间来区分。如果有不同的组,他们想使用相同的K8,但不想互相影响。或者您想区分开发环境和正式环境(上述示例在同一名称空间中运行),此时您可以使用K8S提供的名称空间来区分。

  如果您想为不同部门分配K8S资源,可以轻松地使用命名空间来完成此操作。不仅不能互相影响,它也可以限制可以使用每个命名空间的资源。例如:有限的开发部门使用开发的名称空间,然后限制开发只能使用2 GB内存和30%CPU资源。建立名称空间

  很容易掌握K8S指令kubectl,并且有以下方式构建名称空间的方法

  [名称]例如,您可以自己命名,例如创建开发名称

  获取名称空间

  您会发现该发展是在K8中构建的。

  k8s预设了三个名称空间,并且如果不是专门指定的,则K8S使用此名称空间作为名为Space部署对象的预设。

  原始:https://juejin.cn/post/7100100058841874462