kubernetes集群命令行工具kubectl介绍&yaml文件介绍-20230208

简介: kubernetes集群命令行工具kubectl介绍&yaml文件介绍-20230208

一、kubernetes集群命令行工具kubectl


1. kubectl概述

kubectl是kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。


2. kubectl语法格式

kubectl [command] [TYPE] [NAME] [flags]

解释:

  1. command:
    指定要对资源执行的操作,例如:create,get ,describe,delete
  2. TYPE:
    指定资源类型,资源类型是大小写敏感的,开发者能够以单数、附属和缩略的形式,例如:
    kubectl get pod pdo1kubectl get pods pdo1kubectl get po pdo1
  3. NAME:
    指定资源的名称,名称也大小写敏感,如果省略名称,则会显示所有的资源,例如:
    kubectrl get pods
  4. flags:
    指定可选的参数。例如:可用 -s 或 -server 参数指定 Kubernetes API server 的地址和端口。


3. 帮助命令

获取 kubectl 帮助方法:kubectl --help

具体查看某个操作:kubectl get --help


4. 常用命令

kubectl get cs : 查看当前状态

kubectl get nodes : 查看节点

cd5067f497134e08a36c59de45086112.png


二、yaml文件介绍


yaml文件概述:

k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(yaml)文件来解决,也就是可以把需要对资源对象操作编辑到yaml格式文件中,我们把这种文件叫做资源清单文件,通过kubectl命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署(资源编排)。

在 k8s 中,一般使用 YAML 格式的文件来创建符合我们预期期望的 pod,这样的 YAML 文件称为资源清单。


1. 语法格式

  • 通过缩进表示层级关系
  • 不能使用Tab进行缩进,只能使用空格
  • 一般开头缩进两个空格
  • 字符后缩进一个空格,比如冒号,逗号等
  • 使用 ---表示新的yaml文件开始
  • 使用#代表注释


2. yaml文件组成部分

  • 控制器定义
  • 被控制对象


3. 常用字段含义

a79c5b41ab6545018394a68bef4a1acd.png


4. 如何快速编写yaml文件

  1. 使用kubectl create 命令生成yaml文件(适用于资源未部署)
    kubectl create deployment web --image=nginx -o yaml --dry-run >my1.yaml

fb8fda5f4ee34350a3feb1ce4eb0483a.png

输出到指定文件my1.yaml

c7464b6af3514140921aedf157c0c325.png

2、使用 kubectl get 命令导出yaml文件(适用于资源已部署)

kubectl get deploy nginx -o=yaml --export >my2.yaml

5f736cf8eef2462fac6f9d74c15b8db9.png

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
JSON Kubernetes Shell
【Azure K8S | AKS】在不丢失文件/不影响POD运行的情况下增加PVC的大小
【Azure K8S | AKS】在不丢失文件/不影响POD运行的情况下增加PVC的大小
344 0
|
Kubernetes Shell Perl
【Azure K8S|AKS】进入AKS的POD中查看文件,例如PVC Volume Mounts使用情况
【Azure K8S|AKS】进入AKS的POD中查看文件,例如PVC Volume Mounts使用情况
336 0
|
8月前
|
Kubernetes 安全 网络协议
Kubernetes实用指令:通过dry-run生成部署与服务的YAML配置
总结起来, 使用 ` -- dry—run = client `- o yam l' 参数能够帮助用户预览 Kubernetes 资源定义并且确保它们符合预期效果且没有立即影响现有集群断层结构. 这种做法对于新手学习 K8s 资源规范、测试新策略或者审核现有策略都非常有效率与安全.
611 4
|
JSON Kubernetes API
深入理解Kubernetes配置:编写高效的YAML文件
深入理解Kubernetes配置:编写高效的YAML文件
|
Kubernetes API 网络安全
当node节点kubectl 命令无法连接到 Kubernetes API 服务器
当Node节点上的 `kubectl`无法连接到Kubernetes API服务器时,可以通过以上步骤逐步排查和解决问题。首先确保网络连接正常,验证 `kubeconfig`文件配置正确,检查API服务器和Node节点的状态,最后排除防火墙或网络策略的干扰,并通过重启服务恢复正常连接。通过这些措施,可以有效解决与Kubernetes API服务器通信的常见问题,从而保障集群的正常运行。
1163 17
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
501 2
k8s学习--YAML资源清单文件托管服务nginx
|
Kubernetes 网络虚拟化 Docker
K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
文章提供了一个解决方案,用于在无法直接访问Google镜像仓库的情况下,通过使用阿里云镜像来下载kubeadm所需的Kubernetes镜像。
1936 4
K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
496 3
|
Kubernetes Docker Python
dockercompose与k8s的pod文件的爱恨情仇
dockercompose与k8s的pod文件的爱恨情仇
|
Kubernetes Linux 容器
1.xshell传不了文件输出0000如何解决.....2.k8s中metalLB文件内容
1.xshell传不了文件输出0000如何解决.....2.k8s中metalLB文件内容
169 1

推荐镜像

更多