前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s资源分类机制_k8s资源分类机制

k8s资源分类机制_k8s资源分类机制

作者头像
全栈程序员站长
发布2022-09-21 15:45:46
3030
发布2022-09-21 15:45:46
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

(第三章)资源管理

yaml语言介绍 资源管理方式介绍 方式1:命令式对象管理 方式2:命令式对象配置 方式3:声明式对象配置 配置方式总结 kubectl在node节点上执行

资源管理

本章节主要介绍yaml语法和kubernetes的资源管理方式 学习kubernetes的核心,就是学习如何对集群上的Pod、Pod控制器、Service、存储等各种资源进行操作 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W4JFixu6-1651391374869)(en-resource://database/1603:1)]

yaml语言介绍

小提示: ​ 1 书写yaml切记: 后面要加一个空格 ​ 2 如果需要将多段yaml配置放在一个文件中,中间要使用---分隔 ​ 3 下面是一个yaml转json的网站,可以通过它验证yaml是否书写正确 ​ https://www.json2yaml.com/convert-yaml-to-json

资源管理方式介绍
  • 命令式对象管理:直接使用命令去操作kubernetes资源 kubectl run nginx-pod --image=nginx:1.17.1 --port=80
  • 命令式对象配置:通过命令配置和配置文件去操作kubernetes资源 kubectl create/patch -f nginx-pod.yaml
  • 声明式对象配置:通过apply命令和配置文件去操作kubernetes资源 kubectl apply -f nginx-pod.yaml (只进行创建和更新操作)

类型

操作对象

适用环境

优点

缺点

命令式对象管理

对象

测试

简单

只能操作活动对象,无法审计、跟踪

命令式对象配置

文件

开发

可以审计、跟踪

项目大时,配置文件多,操作麻烦

声明式对象配置

目录

开发

支持目录操作

意外情况下难以调试

命令式对象管理

kubectl是kubernetes集群的命令行工具,通过它能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。kubectl命令的语法如下: kubectl [command] [type] [name] [flags] comand:指定要对资源执行的操作,例如create、get、delete

type:指定资源类型,比如deployment、pod、service

name:指定资源的名称,名称大小写敏感

flags:指定额外的可选参数

常用的命令如下: 查看所有pod kubectl get pod

查看某个pod kubectl get pod pod_name 查看某个node kubectl get node node-name

查看某个pod,以yaml格式展示结果 kubectl get pod pod_name -o yaml kubectl get pod pod_name -o json 以JSON的方式查看结果数据

查看帮助命令:kubectl -help [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1E3tOq5w-1651391374870)(en-resource://database/1605:1)]

kubernetes中所有的内容都抽象为资源, 可以通过下面的命令进行查看: kubectl api-resources

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nna5MElb-1651391374871)(en-resource://database/1607:1)]

方式2:命令式对象配置

存在配置文件XXX.yaml文件

命令式对象配置的方式操作资源,可以简单的认为:命令 + yaml配置文件(里面是命令需要的各种参数)

方式3:声明式对象配置

其实声明式对象配置就是使用apply描述一个资源最终的状态(在yaml中定义状态) 使用apply操作资源: 如果资源不存在,就创建,相当于 kubectl create 如果资源已存在,就更新,相当于 kubectl patch

总结

使用推荐: 三种方式应该怎么用 ?

创建/更新资源 使用声明式对象配置 kubectl apply -f XXX.yaml

删除资源 使用命令式对象配置 kubectl delete -f XXX.yaml

查询资源 (测试常用) 使用命令式对象管理 kubectl get(describe) 资源名称

node 节点上支持kubectl命令的方法

它的配置文件是$HOME/.kube,如果想要在node节点运行此命令,需要将master上的.kube文件复制到node节点上,即在master节点上执行下面操作: scp -r HOME/.kube node1: HOME/

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168435.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (第三章)资源管理
  • 资源管理
    • yaml语言介绍
      • 资源管理方式介绍
        • 命令式对象管理
          • 方式2:命令式对象配置
            • 方式3:声明式对象配置
              • 总结
              • node 节点上支持kubectl命令的方法
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档