K8s(Kubernetes)常用命令
大家好,当谈及容器编排工具时,Kubernetes(常简称为K8s)无疑是当今最受欢迎和广泛使用的解决方案之一。作为一个开源的容器编排平台,Kubernetes 提供了丰富的功能,可以帮助开发人员和运维团队管理、部署和扩展容器化应用程序。然而,要充分发挥 Kubernetes 的潜力,理解和掌握其各种命令是至关重要的。
本文将介绍一些常用的 Kubernetes 命令,从基本的集群管理到应用程序部署和监控,旨在帮助读者更好地理解和利用 Kubernetes。无论您是初学者还是有经验的 Kubernetes 用户,本文都将为您提供有价值的信息和技巧,助您更轻松地管理和操作 Kubernetes 集群。
一、Kubernetes 概述
Kubernetes(通常简称为 K8s)是一个开源的容器编排平台,最初由 Google 开发,并于2014年开源。它旨在简化容器化应用程序的部署、扩展和管理。
作用与优势
Kubernetes 的主要作用是自动化容器操作,例如部署、调度和管理容器化的应用程序。它提供了一种高度可扩展的平台,可以在跨多个主机上动态管理容器化应用程序的资源。
Kubernetes 的优势包括:
-
自动化部署和扩展: Kubernetes 可以自动部署和扩展应用程序,根据负载需求动态调整容器的数量。
-
服务发现与负载均衡: Kubernetes 提供了内置的服务发现和负载均衡功能,使得应用程序可以轻松地与其他服务通信。
-
自我修复: Kubernetes 可以自动检测容器和节点的健康状态,并在需要时进行自我修复,确保应用程序的高可用性。
-
密钥管理与配置: Kubernetes 提供了安全的密钥管理和配置管理功能,可以轻松地管理敏感信息和应用程序配置。
-
多环境支持: Kubernetes 可以在公有云、私有云和混合云环境中运行,为用户提供了更大的灵活性和选择性。
-
社区支持与生态系统: Kubernetes 拥有庞大的开源社区和丰富的生态系统,提供了大量的工具和插件,使得用户能够定制化和扩展 Kubernetes 平台。
在容器编排中的重要性
在容器编排中,Kubernetes 起着至关重要的作用。它允许开发人员和运维团队管理和调度大规模容器化应用程序,确保它们能够高效、可靠地运行。Kubernetes 提供了一个统一的平台,使得容器化应用程序的部署、扩展和管理变得更加简单和可靠。通过 Kubernetes,团队可以更快地交付软件,提高应用程序的可用性和可伸缩性,从而降低了部署和运维的成本,促进了业务的持续创新和发展。
二、常用命令
当涉及到 Kubernetes(通常缩写为 K8s)集群的管理和操作时,有一些常用的命令是非常重要的。以下是一些常见的 Kubernetes 命令及其功能:
1、kubectl get
获取资源的信息。这是一个非常常用的命令,可以用来获取各种 Kubernetes 资源的状态信息,比如 Pods、Services、Deployments 等。
kubectl get pods # 获取所有 Pods 的信息
kubectl get services # 获取所有 Services 的信息
kubectl get deployments # 获取所有 Deployments 的信息
2、kubectl describe
获取资源的详细信息。该命令可以显示特定资源的详细信息,包括各种配置和状态。
kubectl describe pod <pod_name> # 获取特定 Pod 的详细信息
kubectl describe service <service_name> # 获取特定 Service 的详细信息
3、kubectl create
创建资源。使用此命令可以在 Kubernetes 中创建各种资源,例如 Pod、Service、Deployment 等。
kubectl create deployment <deployment_name> --image=<image_name> # 创建 Deployment
kubectl create service <service_name> --tcp=<port>:<targetPort> # 创建 Service
4、kubectl delete
删除资源。这个命令用于删除指定的资源,可以是单个资源或一组资源。
kubectl delete pod <pod_name> # 删除 Pod
kubectl delete service <service_name> # 删除 Service
5、kubectl apply
应用配置。通过 apply 命令可以将配置文件应用到 Kubernetes 集群中,包括创建、更新和删除资源。
kubectl apply -f <filename.yaml> # 应用配置文件
6、kubectl exec
在容器内执行命令。可以使用 exec 命令在运行的容器内执行命令,例如查看日志或执行调试操作。
kubectl exec -it <pod_name> -- /bin/bash # 进入 Pod 的 shell 环境
kubectl exec <pod_name> -- ls # 在 Pod 内执行 ls 命令
7、kubectl logs
获取容器日志。该命令用于检索 Pod 中容器的日志信息。
kubectl logs <pod_name> # 获取 Pod 中所有容器的日志
kubectl logs <pod_name> -c <container_name> # 获取 Pod 中特定容器的日志
8、kubectl scale
扩展 Deployment。使用 scale 命令可以扩展或缩减 Deployment 中 Pod 的副本数量。
kubectl scale deployment <deployment_name> --replicas=<num_replicas> # 扩展 Deployment 的副本数量
9、kubectl port-forward
将本地端口与 Pod 的端口进行转发,以便直接访问 Pod 内的服务。
kubectl port-forward <pod_name> <local_port>:<pod_port> # 将本地端口与 Pod 端口进行转发
10、kubectl rollout
管理 Deployment 的滚动更新。可以使用 rollout 命令进行滚动更新的管理,包括查看历史记录、回滚等。
kubectl rollout status deployment/<deployment_name> # 查看 Deployment 的更新状态
kubectl rollout history deployment/<deployment_name> # 查看 Deployment 的更新历史
kubectl rollout undo deployment/<deployment_name> # 回滚 Deployment 到上一个版本
11、kubectl label
标记资源。使用 label 命令可以给资源添加标签,以便进行更灵活的资源选择和管理。
kubectl label pods <pod_name> <label_key>=<label_value> # 给 Pod 添加标签
kubectl label nodes <node_name> <label_key>- # 删除 Node 的标签
12、kubectl taint
标记节点的污点。污点可以阻止 Pod 调度到节点上,除非 Pod 明确容忍该污点。
kubectl taint nodes <node_name> <taint_key>=<taint_value>:<effect> # 给节点添加污点
13、kubectl get events
获取集群事件。该命令用于获取集群中发生的事件,如 Pod 的创建、删除、调度等。
kubectl get events # 获取集群中的事件列表
kubectl describe events # 查看详细的事件信息
14、kubectl top
查看集群资源的使用情况。可以使用 top 命令查看集群中各种资源(如 CPU、内存)的使用情况。
kubectl top node # 查看节点的资源使用情况
kubectl top pod # 查看 Pod 的资源使用情况
15、kubectl proxy
启动本地代理。可以使用 proxy 命令在本地启动代理,以便访问 Kubernetes API 服务器。
kubectl proxy # 启动本地代理
16、kubectl edit
编辑资源配置。使用 edit 命令可以直接编辑 Kubernetes 资源的配置,比如 Deployment、Service 等。
kubectl edit deployment <deployment_name> # 编辑 Deployment 的配置
17、kubectl create secret
创建密钥或凭据。可以使用 create secret 命令创建 Kubernetes 中的密钥或凭据,用于存储敏感信息。
kubectl create secret generic <secret_name> --from-literal=<key>=<value> # 创建通用密钥
18、kubectl rollout pause/resume
暂停和恢复 Deployment 的滚动更新。可以使用 pause 和 resume 命令暂停和恢复 Deployment 的滚动更新过程。
kubectl rollout pause deployment/<deployment_name> # 暂停 Deployment 的滚动更新
kubectl rollout resume deployment/<deployment_name> # 恢复 Deployment 的滚动更新
19、kubectl get pod|service|deployment --watch
实时监视资源。使用 watch 参数可以实时监视特定资源的状态变化。
kubectl get pods --watch # 实时监视 Pods 的状态变化
20、kubectl explain
查看资源的详细信息和字段说明。使用 explain 命令可以查看 Kubernetes 资源的详细说明,包括支持的字段等。
kubectl explain pod.spec.containers # 查看 Pod 中容器的字段说明
相关文章:
K8s(Kubernetes)常用命令
大家好,当谈及容器编排工具时,Kubernetes(常简称为K8s)无疑是当今最受欢迎和广泛使用的解决方案之一。作为一个开源的容器编排平台,Kubernetes 提供了丰富的功能,可以帮助开发人员和运维团队管理、部署和扩…...
C#-for循环语句
for循环语句 语法: for(初始化变量; 判断条件; 增量表达式) { // 内部代码 } 第一个空(初始表达式): 一般用来声明一个临时的局部变量 用来计数第二个空(条件表达式): 表明进入循环的条件 一个bool类型的值(bool类型 条件表达式 逻辑运算符)第三个空(增量表达式): 使用第一个空…...
css动画案例练习之会展开的魔方和交错的小块
这里写目录标题 一级目录二级目录三级目录 下面开始案例的练习,建议第一个动手操作好了再进行下一个一、交错的小块效果展示1.大致思路1.基本结构2.实现动态移动 2.最终版代码 二、会展开的魔方1.大致思路1.基本结构;2.静态魔方的构建3.让静态的魔方动起来 2.最终版…...
前端逆向之下载canvas引用的图片
前端逆向之下载canvas引用的图片 一、来源二、解决三、如果在Network这里也找不到呢? 一、来源 当我们用dom检查器的时候无法选中想要扒下来的图片,只能选中canvas,这种时候该怎么办呢? 二、解决 这个时候应该换个脑子…...
深度学习手撕代码题
目录: PyTorch实现注意力机制、多头注意力与自注意力Numpy广播机制实现矩阵间L2距离的计算Conv2D卷积的Python和C++实现Numpy实现bbox_iou的计算Numpy实现FocallossPython实现nms、softnmsPython实现BN批量归一化PyTorch卷积与BatchNorm的融合分割网络损失函数Dice Loss代码实…...
vue3 + ts 动态添加路由,刷新页面白屏问题解决方案
1、store 中添加路由的方法 2、main.ts中使用该方法 然后就可以任意刷新页面了,有问题可以随时滴我...........
【Kubernetes】k8s的调度约束(亲和与反亲和)
一、调度约束 list-watch 组件 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和…...
Java数据结构- Map和Set
目录 1. Map和Set2. Map的使用3. Set的使用 1. Map和Set Java中,Map和Set是两个接口,TreeSet、HashSet这两个类实现了Set接口,TreeMap、HashMap这两个类实现了Map接口。 带Tree的这两个类(TreeSet、TreeMap)底层的数…...
JVM参数配置
JVM参数的三种表示方法 在jvm中,jvm虚拟机参数有以下三种表示方法: 标准参数(-)所有的JVM实现都必须实现这些参数的功能,而且向后兼容非标准参数(-X),默认jvm实现这些参数的功能&…...
Vue 实现的精彩动画效果
在 Vue 开发中,我们可以利用<transition>组件来打造各种令人惊艳的动画效果。下面来详细看看这些有趣的动画效果及其实现代码。 一、缩放类效果 zoom-in(整体放大进入) <template><div><button click"isShow ! …...
JVM类加载机制详解(JDK源码级别)
提示:从JDK源码级别彻底剖析JVM类加载机制、双亲委派机制、全盘负责委托机制、打破双亲委派机制的程序、Tomcat打破双亲委派机制、tomcat自定义类加载器详解、tomcat的几个主要类加载器、手写tomcat类加载器 文章目录 前言一、loadClass的类加载大概有如下步骤二、j…...
美国年轻人热衷床上“摆烂”,沃尔玛发掘床上用品新商机!
美国年轻人近年来热衷于床上“摆烂”生活方式,这反映了他们对舒适放松的追求和现代生活的压力。沃尔玛作为零售业巨头,敏锐地捕捉到这一市场变化,发现了床上用品的新商机。 美国年轻人忙碌中渴望宁静空间。床成为他们放松、逃离现实压力的理想…...
3168. 候诊室中的最少椅子数
给你一个字符串 s,模拟每秒钟的事件 i: 如果 s[i] E,表示有一位顾客进入候诊室并占用一把椅子。如果 s[i] L,表示有一位顾客离开候诊室,从而释放一把椅子。 返回保证每位进入候诊室的顾客都能有椅子坐的 最少 椅子…...
C# PaddleOCR 单字识别效果
C# PaddleOCR 单字识别效果 效果 说明 根据《百度办公文档识别C离线SDKV1.2用户接入文档.pdf》,使用C封装DLL,C#调用。 背景 为使客户、第三方开发者等能够更快速、方便的接入使用百度办公文档识别 SDK、促进百度 OCR产品赋能更多客户,特设…...
pyopengl 立方体 正投影,透视投影
目录 顶点和线的方式 划线的方式实现: 顶点和线的方式 import numpy as np from PyQt5 import QtWidgets from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton from OpenGL.GL import * from OpenGL.GLU import * import sys…...
人工智能任务5-高级算法工程师需要学习哪些课程与掌握哪些能力
大家好,我是微学AI,今天给大家介绍一下人工智能的任务5-高级算法工程师需要学习哪些课程,需要掌握哪些能力。高级算法工程师需要掌握的算法模型有:人脸检测模型MTCNN,人脸识别方法Siamese network、center loss、softm…...
服务器上创建搭建gitlab
一、下载与安装 在主目录操作~ 1.使用wget下载 wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.0.1-ce.0.el7.x86_64.rpm 可以在开源软件镜像站选择合适的版本,版本不同页面菜单会稍有差异,此次选…...
LangChain学习之prompt格式化与解析器使用
1. 学习背景 在LangChain for LLM应用程序开发中课程中,学习了LangChain框架扩展应用程序开发中语言模型的用例和功能的基本技能,遂做整理为后面的应用做准备。视频地址:基于LangChain的大语言模型应用开发构建和评估高 2. 先准备尝试调用O…...
基于EasyX的贪吃蛇小游戏 - C语言
游戏基本功能演示: 1.主菜单界面 2.自定难度界面 在这里可以自行设定游戏的难度,包括蛇的移动速度,初始节数,以及默认模式,参考线(网格)。这些设定的数据都会在右上角的游戏属性栏中实时显示。…...
使用Docker辅助图像识别程序开发:在Docker中显示GUI、访问GPU、USB相机以及网络
目录概览 引言安装和配置安装docker安装nvidia-docker在docker中显示GUI在Docker中访问usb相机在Docker镜像中开放端口开启更多的GPU功能支持创建本地镜像中心一些可选参数上传镜像回收空间清理所有的无用镜像清理指定的镜像GPU Docker with Anaconda第一种方式:构建DockerFile…...
Java中常见错误-泛型擦除及桥接方法问题及解决方案
Java中泛型擦除及桥接方法 泛型擦除无界擦除上界擦除下界擦除 桥接方法演示案例wrong1wrong2wrong3right 原理总结 泛型擦除 泛型擦除是Java泛型机制的一个特性,它意味着**在编译期间,所有的泛型信息都会被移除,而在运行时,所…...
Linux 程序守护脚本
引言 程序是由代码形成的,代码是由人写的。只要是人,都会有疏忽的时候,导致写出的程序有bug,当然最严重的bug就是程序闪退。 本文旨在提供一个程序守护脚本,当监测到程序闪退后,立马将程序再起启动&#…...
跨境电商|Facebook Marketplace怎么做?
2016 年,Facebook打造了同名平台 Facebook Marketplace。通过利用 Facebook 现有的庞大客户群,该平台取得了立竿见影的成功,每月访问量将超过 10 亿。对于个人卖家和小企业来说,Facebook Marketplace是一个不错的销货渠道…...
.gitignore 文件
一.什么是 .gitignore 文件 在任何当前工作的 Git 仓库中,每个文件都是这样的: 追踪的(tracked)- 这些是 Git 所知道的所有文件或目录。这些是新添加(用 git add 添加)和提交(用 git commit 提…...
qt中实现多语言功能
qt中实现多语言功能 原理: 其本质就是生成ts文件,然后使用Linguist软件手工翻译,再生成qm文件,最后在主程序的开始加载不同的qm文件,实现多语言。 步骤: 修改程序文件 在pro文件中加入说明 TRANSLATI…...
数据结构与算法之 leetcode 513. 找树左下角的值 (BFS) 广度优先
513. 找树左下角的值 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }*/ /*** param {T…...
mysql中的函数
MySQL提供了丰富的内置函数,涵盖了字符串操作、数字计算、日期和时间处理、条件判断、聚合计算等多个方面。这些函数可以帮助开发者在查询和数据处理时更高效地完成任务。下面是对MySQL中常见的函数分类及其主要函数的介绍: 字符串函数 CONCAT()&#x…...
Shell正则表达式与文本处理器
一、grep 1. 正则表达式 是一种匹配字符串的方法,通过一些特殊符号,快速实现查找,删除,替换某特定字符串。 选项: -a 不要忽略二进制数据。 -A 显示该行之后的内容。 -b 显示该行之前的内容。 -c 计算符合范本样…...
双指针法 ( 三数之和 )
题目 :给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复…...
感染恶意代码之后怎么办?
隔离设备 立即将感染设备与网络隔离,断开与互联网和其他设备的连接。这可以防止恶意代码进一步传播到其他设备,并减少对网络安全的威胁。 确认感染 确认设备是否真的感染了恶意代码。这可能需要使用安全软件进行全面扫描,以检测和识别任何已…...
怎么搭建手机网站m/国内最好的危机公关公司
简介 MySQL 是一个出色的综合性数据库,但是,对于需要进行大量搜索的应用程序,考虑采用具体的搜索实用工具可能会更好一些。本文章将 Sphinx(一个著名的全文本搜索包)视为 MySQL 的替代品,用它来进行搜索&am…...
江苏广兴建设集团网站/厦门网络营销推广
--- **python总结** 一、python中数有四种类型:整数、长整数、浮点数和复数 1.整数 2.长整数 3.浮点数 4.复数 二、字符串运算符 a 值为字符串 "Hello",b 变量值为 "Python": ****:>>>a b HelloPython **重复*…...
深圳网站快速优化公司/个人推广平台
1、下载软件包 整个系统的安装全过程都要求以root身份执行,如果机器没有访问外部网络的能力,则事先下载好EMOS光盘映像,并上传到服务器。 备注:如果要在CentOS 5.x上面进行配置,请下载EMOS-1.5.ISO,配置方法…...
网站建设整个流程图/福清seo
我的应用程序以PEM格式存储私钥,现有代码适用于RSA密钥但我试图切换到EC密钥并且存在问题.密钥恢复似乎有效,并且恢复密钥上的equals方法对原始密钥返回true,但原始密钥上的getAlgorithm()返回“EC”并返回恢复密钥“ECDSA”.算法中的差异后来导致问题,因为它与相应公钥的算法不…...
响应式的网站建设一个多少钱/业务推广方式有哪些
端口安全 可以将端口学习MAC地址的数量做出限制 可以限制哪些mac地址可以接入本端口 SW3(config)#int e0/0 SW3(config-if)#switchport mode access 注意: 动态端口不允许配置端口安全,若产生违规行为,默认将端口放入 err-disable 状态&#…...
网站怎样做自适应分辨率大小/seo知识总结
cMFC工程修改在共享DLL中使用MFC为使用标准Windows库的解决办法 由于创建MFC工程时,默认是在共享DLL中使用MFC,如果将此选项改成使用标准Windows库,会报如下错误c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afx.h(24) :…...