K8s 命令行

前言:关于k8s 与 docker

Docker和Kubernetes(通常简称为K8s)是两个在容器化应用程序方面非常流行的开源工具。

Docker:

Docker 是一种轻量级的容器化平台,允许开发者将应用程序及其所有依赖项打包到一个称为容器的可移植容器中。每个容器都运行在宿主操作系统的独立进程中,具有自己的文件系统和网络空间。Docker 提供了一种标准化的方式,使应用程序能够在不同的环境中轻松部署和运行。Docker 镜像包含了应用程序的代码、运行时、系统工具、系统库等。

Kubernetes (K8s):

Kubernetes 是一个用于自动部署、扩展和管理容器化应用程序的开源容器编排工具。它提供了一种容器编排系统,可以自动化应用程序的部署、伸缩和管理。Kubernetes 允许用户定义容器的部署、配置和调度,确保它们在整个集群中以高效和可靠的方式运行。K8s 提供了强大的功能,如自动负载均衡、滚动更新、自动扩展等,使得在大规模容器化环境中管理应用变得更加容易。

关系与区别:

  1. 关系: Docker 可以用于创建、打包和分发容器,而 Kubernetes 用于在一个集群中管理这些容器的部署、伸缩和运维。

  2. 单机 vs. 集群: Docker 主要关注单个主机上的容器化,而 Kubernetes 更专注于在多个主机上协调和管理容器。

  3. 抽象层次: Docker 提供了一个容器运行时环境,而 Kubernetes 提供了容器编排和管理的整体解决方案。

  4. 自动化: Kubernetes 提供更高级别的自动化,例如自动负载均衡、自动扩展、滚动更新等功能,使得在生产环境中更容易管理大规模应用。

通常,组合使用 Docker 和 Kubernetes 可以提供一个完整的容器化解决方案,使开发者能够方便地开发、测试和部署应用程序,并在生产环境中有效地管理这些应用程序。


kubectl 常用命令集合

1. 语法规则

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

其中 command TYPE NAME flags 分别是:
  • command :指定要对一个或多个资源执行的操作,例如 create get describe delete 
  • TYPE :指定资源类型。资源类型不区分大小写,可以指定单数、复数或缩写形式。
例如,以下命 令输出相同的结果:
kubectl get pod pod1
kubectl get pods pod1
kubectl get po pod1
  • NAME :指定资源的名称。名称区分大小写。如果省略名称,则显示所有资源的详细信息 kubectl get pods
在对多个资源执行操作时,您可以按类型和名称指定每个资源,或指定一个或多个文件:
要按类型和名称指定资源:
要对所有类型相同的资源进行分组,请执行以下操作:
TYPE1 name1 name2 name<#> 。
例子: kubectl get pod example - pod1 example - pod2
分别指定多个资源类型:
TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#> 。
例子: kubectl get pod/example - pod1 replicationcontroller/example - rc1
用一个或多个文件指定资源: - f file1 - f file2 - f file<#>
使用 YAML 而不是 JSON 因为 YAML 更容易使用,特别是用于配置文件时。
例子: kubectl get pod - f ./pod.yaml
  • flags : 指定可选的参数。例如,可以使用 -s -server 参数指定 Kubernetes API 服务器的地址和端口。
注意:
从命令行指定的参数会覆盖默认值和任何相应的环境变量。
如果您需要帮助,只需从终端窗口运行 kubectl help 即可。

1.1 get命令

kubectl get - 列出一个或多个资源。
# 查看集群状态信息
kubectl cluster-info
# 查看集群状态
kubectl get cs
# 查看集群节点信息
kubectl get nodes
# 查看集群命名空间
kubectl get ns
# 查看指定命名空间的服务
kubectl get svc -n kube-system
# 以纯文本输出格式列出所有 pod
kubectl get pods
# 以纯文本输出格式列出所有 pod ,并包含附加信息 ( 如节点名 )
kubectl get pods -o wide
# 以纯文本输出格式列出具有指定名称的副本控制器。提示:您可以使用别名 'rc' 缩短和替换
'replicationcontroller' 资源类型。
kubectl get replicationcontroller <rc-name>
# 以纯文本输出格式列出所有副本控制器和服务。
kubectl get rc,services
# 以纯文本输出格式列出所有守护程序集,包括未初始化的守护程序集。
kubectl get ds --include-uninitialized
# 列出在节点 server01 上运行的所有 pod
kubectl get pods --field-selector=spec.nodeName=server01

1.2 describe 命令

kubectl describe - 显示一个或多个资源的详细状态,默认情况下包括未初始化的资源。
# 显示名称为 <node-name> 的节点的详细信息。
kubectl describe nodes <node-name>
# 显示名为 <pod-name> pod 的详细信息。
kubectl describe pods/<pod-name>
# 显示由名为 <rc-name> 的副本控制器管理的所有 pod 的详细信息。
# 记住:副本控制器创建的任何 pod 都以复制控制器的名称为前缀。
kubectl describe pods <rc-name>
# 描述所有的 pod ,不包括未初始化的 pod
kubectl describe pods --include-uninitialized=false
说明: kubectl get 命令通常用于检索同一资源类型的一个或多个资源。 它具有丰富的参数, 允许您使用 - o -- output 参数自定义输出格式。您可以指定 - w -- watch 参数以开始观察 特定对象的更新。 kubectl describe 命令更侧重于描述指定资源的许多相关方面。它可以调用 对 API 服务器 的多个 API 调用来为用户构建视图。 例如,该 kubectl describe node 命令不 仅检索有关节点的信息,还检索在其上运行的 pod 的摘要,为节点生成的事件等。

1.3 delete命令

kubectl delete` - 从文件、 stdin 或指定标签选择器、名称、资源选择器或资源中删除资源。
# 使用 pod.yaml 文件中指定的类型和名称删除 pod
kubectl delete -f pod.yaml
# 删除标签名 = <label-name> 的所有 pod 和服务。
kubectl delete pods,services -l name=<label-name>
# 删除所有具有标签名称 = <label-name> pod 和服务,包括未初始化的那些。
kubectl delete pods,services -l name=<label-name> --include-uninitialized
# 删除所有 pod ,包括未初始化的 pod
kubectl delete pods --all

1.4 进入容器命令

kubectl exec - pod 中的容器执行命令。与 docker exec 命令非常类似
# pod <pod-name> 中获取运行 'date' 的输出。默认情况下,输出来自第一个容器。
kubectl exec <pod-name> date
# 运行输出 'date' 获取在容器的 <container-name> pod <pod-name> 的输出。
kubectl exec <pod-name> -c <container-name> date
# 获取一个交互 TTY 并运行 /bin/bash <pod-name > 。默认情况下,输出来自第一个容器。
kubectl exec -ti <pod-name> /bin/bash

1.5 logs命令

kubectl logs - 打印 Pod 中容器的日志。
# pod 返回日志快照。
kubectl logs <pod-name>
# pod <pod-name> 开始流式传输日志。这类似于 'tail -f' Linux 命令。
kubectl logs -f <pod-name>

1.6 格式化输出

pod 信息格式化输出到一个 yaml 文件
kubectl get pod web-pod-13je7 -o yaml

1.7 资源缩写汇总

2. namespace 命名空间

kubectl get namespace
查看所有命名空间的 pod 资源
kubectl get pod --all-namespaces
kubectl get pod -A
简写命令
kubectl get ns
default 用户创建的 pod 默认在此命名空间
kube-public 所有用户均可以访问,包括未认证用户
kube-node-lease kubernetes 集群节点租约状态 ,v1.13 加入
kube-system kubernetes 集群在使用

3.pod

Pod kubernetes 集群能够调度的最小单元。 Pod 是容器的封装
查看 default 命名空间下的 pods
kubectl get pods
查看 kube-system 命名空间下的 pods
kubectl get pods -n kube-system
查看所有命名空间下的 pods
kubectl get pod --all-namespaces
kubectl get pod -A

3.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/194888.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VIM去掉utf-8 bom头

Windows系统的txt文件在使用utf-8编码保存时会默认在文件开头插入三个不可见的字符&#xff08;0xEF 0xBB 0xBF&#xff09;称为BOM头 BOM头文件 0.加上BOM标记&#xff1a; :set bomb 1.查询当前UTF-8编码的文件是否有BOM标记&#xff1a; :set bomb? :set bomb? 2.BOM头:文…

CentOs 7 PHP安装和配置

目录 1 安装epel源 2 安装REMI源 3 安装yum源管理工具 4 安装PHP7.3 5 启动php服务 6 设置PHP 6.1 查找安装包 6.2 查找PHP安装位置 6.3 查找php配置文件位置 6.4 配置PHP 6.5 设置快捷命令 6.6 查看php版本 6.7 更新php 1 安装epel源 yum -y install epel-release 2 安…

深度学习之基于YoloV5苹果新鲜程度检测识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 深度学习之基于 YOLOv5 苹果新鲜程度检测识别系统介绍YOLOv5 简介苹果新鲜程度检测系统系统架构应用场景 二、功能三、系统四. 总结 一项目简介 深度学习之…

OSPF开放最短路径优先(Open Shortest Path First)协议

OSPF开放最短路径优先(Open Shortest Path First)协议 为克服RIP的缺点(限制网络规模&#xff0c;坏消息传得慢)在1989年开发出来的原理很简单&#xff0c;但实现很复杂使用了Dijkstra提出的最短路径算法SPF(Shortest Path First)采用分布式的链路状态协议(link state protoco…

Windows Server 2012 R2系统服务器远程桌面服务多用户登录配置分享

Windows Server 2012系统在没有安装远程多界面的情况下&#xff0c;最多只能同时运行2个远程桌面&#xff0c;如果是有多个技术员、合伙人同时操作或是像游戏开发需要用到多界面&#xff0c;但是没有安装就很不方便&#xff0c;今天飞飞来和你们分享Windows server 2012R2系统远…

泛型编程 -- 模板详解

一、模板 在没有模板之前&#xff0c;如果我们写一个swap()两数交换函数&#xff0c;因为我们要支持 int 与int 交换 、double 与 double 交换等等情况&#xff0c;所以要实现swap()函数的多个重载&#xff0c;显得很繁琐&#xff0c;于是就引入了模板。 模板就是在需要模板的地…

Python基础入门----如何通过conda搭建Python开发环境

文章目录 使用 conda 搭建Python开发环境是非常方便的,它可以帮助你管理Python版本、依赖库、虚拟环境等。以下是一个简单的步骤,演示如何通过 conda 搭建Python开发环境: 安装conda: 如果你还没有安装 conda,首先需要安装Anaconda或Miniconda。Anaconda是一个包含很多数据…

初学UE5 C++②

目录 导入csv表格数据 创建、实例化、结构体 GameInstance Actor camera 绑定滚轮控制摇臂移动 碰撞绑定 角色碰撞设定 按钮 UI显示 单播代理 多播和动态多播 写一个接口 其他 NewObject 和 CreateDefaultSubobject区别 导入csv表格数据 创建一个object的C类 …

巾帼调查队开展实务调查技能,促全职妈妈联增收

2024年11月14日上午&#xff0c;由罗湖区妇联主办、罗湖区懿米阳光公益发展中心承办的“巾帼调查队—社区女性增值计划”项目第三期活动在罗湖区妇儿大厦六楼成功举办&#xff0c;30名阳光妈妈及全职妈妈参与了此次调查实务技巧培训。 在培训开始之前&#xff0c;巾帼调查队的创…

为了 Vue 组件测试,你需要为每个事件绑定的方法加上括号吗?

本文由华为云体验技术团队松塔同学分享 先说结论&#xff0c;当然不是&#xff01;Vue 组件测试&#xff0c;尤其是组件触发事件的测试&#xff0c;有成熟的示例。我们同样要关注测试的原则&#xff0c;例如将组件当成黑盒&#xff0c;不关心其内部实现&#xff0c;而只关心与其…

开源 | 携程 Redis On Rocks 实践,节省 2/3 Redis成本

作者简介 patpatbear&#xff0c;携程软件技术专家&#xff0c;负责携程缓存内核的维护&#xff0c;热爱开源&#xff0c;专注于高性能、分布式NoSQL系统的建设和应用。 一、背景 redis使用内存作为存储介质&#xff0c;具有良好的性能和低延迟&#xff0c;但其内存容量通常成为…

Notepad++ 和正则表达式 只保留自己想要的内容

一、需求 如下文本&#xff0c;三段相同结构的数据&#xff0c;想要获取每段结构中‘重复的Ids ’后面的数字 2023-10-26 18:49:49 重复的Ids 26443,26575 要删除的Ids 4174,4199,4200,55502023-10-26 18:49:49 重复的Ids 26436,26443,26575 要删除的Ids 4166,4199,4200,5550…

quartz笔记

Quartz-CSDN博客 上面是Quartz的一些基本知识,如果对quartz的基本API不是很了解的话,建议先看下上面的 和Linux Crontab对比 1.执行粒度: Linux Crontab是进程级 quart是线程级 2.跨平台性: Crontab只能在Linxu运行 quart是java实现,可以跨平台 3.调度集上 Crontab的…

Python调用企微机器人: 发送常用格式汇总

企微接口文档 发送应用消息 - 接口文档 - 企业微信开发者中心 发送格式 应用支持推送文本、图片、视频、文件、图文等类型。 ~~~以下列举常用格式 示例~~~ 1.发送文本 代码如下&#xff1a; def sendtxt_robotmsg(self):# 正式keywx_key "xx"wx_webhookurl htt…

新的 Reptar CPU 缺陷影响英特尔台式机和服务器系统

英特尔修复了其现代台式机、服务器、移动和嵌入式 CPU 中的一个高严重性 CPU 漏洞&#xff0c;包括最新的 Alder Lake、Raptor Lake 和 Sapphire Rapids 微架构。 攻击者可以利用该缺陷&#xff08;追踪为CVE-2023-23583并被描述为“冗余前缀问题”&#xff09;来升级权限、获…

【蓝桥杯 第十五届模拟赛 Java B组】训练题(A - I)

目录 A、求全是字母的最小十六进制数 B、Excel表格组合 C、求满足条件的日期 D、 取数字 - 二分 &#xff08;1&#xff09;暴力 &#xff08;2&#xff09;二分 E、最大连通块 - bfs F、哪一天&#xff1f; G、信号覆盖 - bfs &#xff08;1&#xff09;bfs&#xf…

(C语言)输入一个序列,判断是否为奇偶交叉数

#include <stdio.h> #include <string.h> int main() {char str[50];gets(str);int len,tmp 1;len strlen(str); //获取字符串长度 for (int i 0;i < len-1 ;i ){if((str[i] % 2 0 ) && (str[i1] % 2 ! 0)) //判断先偶数后奇数序列 tmp ;else if((s…

【Azure 架构师学习笔记】-Azure Storage Account(6)- File Layer

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Storage Account】系列。 接上文 【Azure 架构师学习笔记】-Azure Storage Account&#xff08;5&#xff09;- Data Lake layers 前言 上一文介绍了存储帐户的概述&#xff0c;还有container的一些配置&#xff0c;在…

(.htaccess文件特性)[MRCTF2020]你传你呢 1

题目环境&#xff1a; 不难看出是一道文件上传漏洞 上传一句话木马文件burpsuite进行抓包<?php eval($_POST[shell]);?> 命名为PHP文件格式 Repeater进行重放 尝试了其它后缀进行绕过都没有成功 通过 application/x-php内容类型&#xff0c;可以看出被识别出是PHP文件&…

聊一聊前端面临的安全威胁与解决对策

前端是用户在使用您的网站或Web应用程序时首先体验到的东西。如果您的Web应用程序的前端受到侵害&#xff0c;它可能会影响整个布局&#xff0c;并造成糟糕的用户体验&#xff0c;可能难以恢复。集成前端安全变得越来越重要&#xff0c;本文将指导您通过可以应用于保护您的Web应…