人手一套的K8S命令集合,它来了!

简介: K8S在容器技术盛行的时代已经称为标配技术,本文瑞哥开始给大家介绍了K8S的基本知识,然后列举了K8S的命令列表,最后还给大家提炼出高频使用的命令,希望本文能够给您带来帮助。

你好,这里是网络技术联盟站。

上次给大家介绍了Docker常用的命令,反响不错,评论区有小伙伴想要K8S的命令合集,那么今天瑞哥就来安排一下!

在开始列举K8S命令集前,先给大家简单介绍一下K8S的基本理论。

什么是K8S?

K8S其实是Kubernetes,由于Kubernetes读起来像K8S,所以久而久之,大家就将Kubernetes简称为K8S了。

K8S 最初由 Google 开发,其实就是一个容器或微服务平台,用于编排计算、网络和存储基础设施工作负载。

所谓容器,就是提供了一种打包代码、运行时、系统工具、系统库和配置的方法,也就是就是说有了这个容器,不管你将此放到哪个相同系统的服务器上,都能完好的运行程序,最好的例子就是Docker。

K8S的优势

K8S的优势就是为啥大多数企业和组织选择K8S,简单来说一般有以下四个优点:

1、提升工作效率

K8S提供一个PaaS平台,创建了一个硬件抽象层,使用者可以快速有效地请求他们需要的资源,如果他们需要更多资源来处理额外的工作,也可以快速的扩展,只需点一点就能快速配置,并且可以利用 Kubernetes 开发的工具来实现自动化打包、部署和测试。

2、灵活性

容器引擎是运行容器的程序,K8S支持多种类型的容器运行时和基础设施,只要它们具有某些版本的 Linux 或 Windows,K8s 的可移植性使开发团队可以轻松切换引擎、服务器或环境配置。

3、节约成本

K8S不仅可以节省人力成本、还能节省物力成本,通过动态和智能的容器管理,K8S可以帮助企业节省其生态系统管理,确保跨多个环境的可扩展性。资源分配会根据实际应用程序需求自动调整,同时减少基础架构上的低级手动操作。有了自动化,IT 团队不再需要执行大量与系统管理相关的操作任务,可以将大量的精力用在更有意义的事情上,这极大的节省了企业的成本。

4、开源

K8S是一个完全开源的、由社区主导的项目,由 CNCF 监督,它有几家主要的企业赞助商,对于许多企业来说,这种开源策略使K8S优于闭源编排器。

K8S命令备忘录

1、列举资源

生成所有命名空间的纯文本列表:

kubectl get namespaces

显示所有 pod 的纯文本列表:

kubectl get pods

生成所有 pod 的详细纯文本列表,包含节点名称等信息:

kubectl get pods -o wide

显示在特定节点服务器上运行的所有 pod 的列表:

kubectl get pods --field-selector=spec.nodeName=[server-name]

以纯文本形式列出特定的复制控制器:

kubectl get replicationcontroller [replication-controller-name]

生成所有复制控制器和服务的纯文本列表:

kubectl get replicationcontroller,services

显示所有守护程序集的纯文本列表:

kubectl get daemonset

2、部署

创建一个新的部署

kubectl create deployment <deployment_name>

列出一个或多个部署

kubectl get deployment

列出一个或多个部署的详细状态

kubectl describe deployment <deployment_name>

删除部署

kubectl delete deployment<deployment_name>

3、命名空间相关

按给定名称创建命名空间

kubectl create namespace <namespace_name>

列出集群中的当前命名空间

kubectl get namespace

显示一个或多个命名空间的详细状态

kubectl describe namespace <namespace_name>

删除命名空间

kubectl delete namespace <namespace_name>

编辑和更新命名空间的定义

kubectl edit namespace <namespace_name>

4、执行命令

接收在 pod 中的第一个容器上运行的命令的输出:

kubectl exec [pod-name] -- [command]

从在 pod 中的特定容器上运行的命令获取输出:

kubectl exec [pod-name] -c [container-name] -- [command]

从特定的 pod运行/bin/bash 。接收到的输出来自第一个容器:

kubectl exec -ti [pod-name] -- /bin/bash

5、守护进程

列出一个或多个守护程序集

kubectl get daemonset

编辑和更新一个或多个守护程序集的定义

kubectl edit daemonset <daemonset_name>

删除守护程序集

kubectl delete daemonset <daemonset_name>

创建一个新的守护进程

kubectl create daemonset <daemonset_name>

管理守护程序集的推出

kubectl rollout daemonset

显示命名空间中守护程序集的详细状态

kubectl describe ds <daemonset_name> -n <namespace_name

8、打印容器日志

打印 pod 的日志

kubectl logs <pod_name>

打印 pod 上一小时的日志

kubectl logs --since=1h <pod_name>

获取最近的 20 行日志

kubectl logs --tail=20 <pod_name>

从服务获取日志并可选择选择哪个容器

kubectl logs -f <service_name> [-c <$container>]

打印 pod 的日志并关注新日志

kubectl logs -f <pod_name>

打印 pod 中容器的日志

kubectl logs -c <container_name> <pod_name>

将 pod 的日志输出到名为“pod.log”的文件中

kubectl logs <pod_name> pod.log

查看以前失败的 pod 的日志

kubectl logs --previous <pod_name>

获取所有以 pod_prefix 命名的 pod 的日志

kubetail <pod_prefix>

包括最近 5 分钟的日志

kubetail <pod_prefix> -s 5m

11、其他命令

文档

获取 pod 清单的文档

kubectl explain pod

获取服务清单的文档

kubectl explain service
别名

在 linux 上创建别名

alias k=kubectl

在 Windows 上创建别名

Set-Alias -Name k -Value kubectl
节点

获取节点

kubectl get nodes

获取特定节点

kubectl get nodes <node>

显示节点指标

kubectl top node <node>
服务帐号

列出服务帐号

kubectl get serviceaccounts

获取服务帐号

kubectl get serviceaccount <serviceaccount>

创建服务帐号

kubectl create serviceaccount <serviceaccount>

删除服务帐号

kubectl delete serviceaccount <serviceaccount>

描述服务帐号

kubectl describe serviceaccount <serviceaccount>

10、格式化输出

如果想要以特定格式将详细信息输出到终端窗口,可以在K8S命令中加上-o参数。

使用逗号分隔的自定义列列表打印表格

-o=custom-columns=<spec>

使用文件中的自定义列模板打印表格

-o=custom-columns-file=<filename><filename>

输出 JSON 格式的 API 对象

-o=json

打印jsonpath表达式中定义的字段

-o=jsonpath=<template>

打印文件中jsonpath表达式定义的字段\<filename\>

-o=jsonpath-file=<filename>

仅打印资源名称,不打印其他内容

-o=name

以纯文本格式输出任何附加信息,对于 pod,包括节点名称

-o=wide

输出 YAML 格式的 API 对象

-o=yaml

以上就是K8S的命令列表,下面给大家列举一下高频使用的命令,希望大家能够牢记!!!

K8S高频使用的命令

1、列出所有命名空间服务

查看当前命名空间中所有服务的列表:

kubectl get services

查看所有命名空间中的服务列表:

kubectl get pods --all-namespaces
2、检索节点上的详细信息

查看节点的整体状态:

kubectl get nodes
3、创建一个具有唯一名称的新命名空间

创建一个新的命名空间:

kubectl create ns hello-there
4、利用文件来配置 Kubernetes

利用配置文件并更改资源:

kubectl apply -f config.yaml
5、列出命名空间中所有正在运行的 pod
kubectl get pods --field-selector=status.phase=Running
6、集群服务

显示集群主节点和服务的端点信息:

kubectl cluster-info
7、服务日志 ⭐
kubectl logs -f <service_name>
8、密钥

获取所有 Kubernetes 密钥的列表:

kubectl get secrets
9、事件

查看所有基于资源的事件的列表:

kubectl get events
10、创建新的 DaemonSet
kubectl create daemonset <daemonset_name>

总结

K8S在容器技术盛行的时代已经称为标配技术,本文瑞哥开始给大家介绍了K8S的基本知识,然后列举了K8S的命令列表,最后还给大家提炼出高频使用的命令,希望本文能够给您带来帮助。

最后感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞👍、收藏⭐哦!有任何问题,欢迎在下方评论区与我讨论!!!

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
目录
相关文章
|
23天前
|
运维 Kubernetes 监控
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
28 0
|
3月前
|
Kubernetes 应用服务中间件 API
Kubernetes(K8S)命令指南
Kubernetes(K8S)命令指南
103 0
|
23天前
|
运维 Kubernetes 容器
K8S运维命令必备kubectl命令总结
K8S运维命令必备kubectl命令总结
26 3
|
6月前
|
Kubernetes 调度 数据中心
K8S常用命令
K8S常用命令
134 0
|
6月前
|
Kubernetes 容器 Perl
k8s查看日志命令—2023.02
k8s查看日志命令—2023.02
127 0
|
7月前
|
Kubernetes 容器
给你一份Kubernetes常用命令备忘录
本文主要整理了Kubernetes常用命令,给朋友们一个备忘录。
给你一份Kubernetes常用命令备忘录
|
7月前
|
Kubernetes Shell 容器
Kubernetes的kubectl命令补全
Kubernetes的kubectl命令补全
97 0
|
1月前
|
Kubernetes Shell Docker
容器服务ACK常见问题之容器服务ACK kubectl命令写到shell脚本失败如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
8月前
|
Kubernetes 应用服务中间件 调度
k8s--pod 基本配置、镜像拉取策略、启动命令、端口设置、资源配额
k8s--pod 基本配置、镜像拉取策略、启动命令、端口设置、资源配额
k8s--pod 基本配置、镜像拉取策略、启动命令、端口设置、资源配额
|
4月前
|
Kubernetes Java 流计算
在Kubernetes上运行Flink应用程序时,你可以使用Flink Kubernetes Client提供的命令来提交作业
在Kubernetes上运行Flink应用程序时,你可以使用Flink Kubernetes Client提供的命令来提交作业
44 6

推荐镜像

更多