五个常用的Kubernetes运维脚本

简介: kubernetes系列

五个常用的Kubernetes运维脚本

findEmptyNamespaces.sh

遍历集群中的所有名称空间并找到空的namespace

🐳 👉 ./findEmptyNamespaces.sh default
kube-public
online
test

getPodsTopCSV.sh

获取以CSV格式文件编写的Pod的cpu和内存使用情况(可选地每个容器)

🐳 👉 ./getPodsTopCSV.sh --help
./getPodsTopCSV.sh - Get formatted results of kubectl top pod in a Kubernetes cluster for a selected namespace and pod in a CSV format

Usage: ./getPodsTopCSV.sh <options>

-n | --namespace <name>                : Namespace to analyse.      Default: default
-p | --pod <name>                      : Pod to analyse.
-d | --duration <seconds>              : Duration of sampling.      Default: 0 (infinite)
-i | --interval <seconds>              : Interval between samples.  Default: 5
-o | --output <name>                   : Output file.               Default: top-<timestamp>.csv
-c | --containers                      : Output per container.      Default: off
-q | --quite                           : Don't output to screen.    Default: Output to screen
-h | --help                            : Show this usage
--no-headers                           : Don't print headers line

Examples:
========
Get for pod foo in namespace bar:                                $ ./getPodsTopCSV.sh --namespace bar --pod foo
Get for pod foo in namespace bar and output to file foo.csv :    $ ./getPodsTopCSV.sh --namespace bar --pod foo --output foo.csv

getResourcesCSV.sh

以CSV格式获取每个容器的所有容器资源请求和限制,并对其值进行标准化。CSV格式非常易于自动化,非常适合粘贴到Excel进行进一步处理。

🐳 👉 ./getResourcesCSV.sh --help

./getResourcesCSV.sh - Extract resource requests and limits in a Kubernetes cluster for a selected namespace or all namespaces in a CSV format

Usage: ./getResourcesCSV.sh <options>

-n | --namespace <name>                : Namespace to analyse.    Default: --all-namespaces
-o | --output <name>                   : Output file.             Default: resources.csv
-q | --quite                           : Don't output to screen.  Default: Output to screen
-h | --help                            : Show this usage
--no-headers                           : Don't print headers line

Examples:
========
Get all:                                                  $ ./getResourcesCSV.sh
Get for namespace foo:                                    $ ./getResourcesCSV.sh --namespace foo
Get for namespace foo and use output file bar.csv :       $ ./getResourcesCSV.sh --namespace foo --output bar.csv

getRestartingPods.sh

获取在一个或多个容器中检测到重新启动的所有Pod(全部或单个命名空间)。格式为CSV。

🐳 👉 ./getRestartingPods.sh --help
./getRestartingPods.sh - Extract resource requests and limits in a Kubernetes cluster for a selected namespace or all namespaces in a CSV format

Usage: ./getRestartingPods.sh <options>

-n | --namespace <name>                : Namespace to analyse.    Default: --all-namespaces
-o | --output <name>                   : Output file.             Default: restarting.csv
-q | --quite                           : Don't output to screen.  Default: Output to screen
-h | --help                            : Show this usage
--no-headers                           : Don't print headers line

Examples:
========
Get all:                                                  $ ./getRestartingPods.sh
Get for namespace foo:                                    $ ./getRestartingPods.sh --namespace foo
Get for namespace foo and use output file bar.csv :       $ ./getRestartingPods.sh --namespace foo --output bar.csv

podReady.sh

检查Pod是否真的准备就绪的简单脚本。检查状态为“正在运行”,并且所有容器均已准备就绪。如果准备就绪,则返回0。如果尚未准备就绪,则返回1。

🐳 👉 ./podReady.sh kube-flannel-ds-lf87p kube-system

脚本下载地址,请在订阅号【云原生生态圈】后台恢复k8s脚本即可获取。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
18天前
|
消息中间件 运维 Kubernetes
构建高效自动化运维体系:Ansible与Kubernetes的融合实践
【5月更文挑战第9天】随着云计算和微服务架构的普及,自动化运维成为确保系统可靠性和效率的关键。本文将深入探讨如何通过Ansible和Kubernetes的集成,构建一个强大的自动化运维体系。我们将分析Ansible的配置管理功能以及Kubernetes容器编排的优势,并展示如何将二者结合,以实现持续部署、快速扩展和高效管理现代云原生应用。文章还将涵盖实际案例,帮助读者理解在真实环境下如何利用这些工具优化运维流程。
|
18天前
|
运维 Kubernetes Cloud Native
构建高效云原生运维体系:Kubernetes最佳实践
【5月更文挑战第9天】 在动态和快速演变的云计算环境中,高效的运维是确保应用稳定性与性能的关键。本文将深入探讨在Kubernetes环境下,如何通过一系列最佳实践来构建一个高效且响应灵敏的云原生运维体系。文章不仅涵盖了容器化技术的选择与优化、自动化部署、持续集成/持续交付(CI/CD)流程的整合,还讨论了监控、日志管理以及灾难恢复策略的重要性。这些实践旨在帮助运维团队有效应对微服务架构下的复杂性,确保系统可靠性及业务的连续性。
|
2天前
|
运维 Kubernetes 持续交付
构建高效自动化运维体系:基于Docker和Kubernetes的实践
【5月更文挑战第30天】 在当今的快速迭代和持续部署的软件发布环境中,自动化运维的重要性愈发凸显。本文旨在探讨如何利用容器化技术与微服务架构,特别是Docker和Kubernetes,来构建一个高效、可伸缩且自愈的自动化运维体系。通过详细分析容器化的优势及Kubernetes的集群管理机制,文章将提供一个清晰的指南,帮助读者理解并实现现代软件部署的最佳实践。
|
3天前
|
运维 Kubernetes 监控
构建高效自动化运维体系:基于Docker和Kubernetes的实践指南
【5月更文挑战第29天】 在现代云计算环境中,自动化运维已成为提升服务效率、确保系统稳定性的关键因素。本文深入探讨了如何利用Docker容器化技术和Kubernetes集群管理工具来构建一个高效且灵活的自动化运维体系。通过分析具体实施步骤和策略,我们旨在为读者提供一个清晰的指导框架,以支持他们在不断变化的技术需求中快速部署和扩展应用程序。本指南不仅涉及技术的基础知识,还涵盖了持续集成/持续部署(CI/CD)流程的集成,以及监控和日志管理的优化实践。
|
4天前
|
运维 Kubernetes 监控
构建高效自动化运维系统:基于Docker和Kubernetes的实践
【5月更文挑战第28天】在现代云计算环境中,自动化运维已成为提升服务效率、减少人为错误和应对快速变化需求的关键。本文以实际案例为依托,详细探讨了如何利用Docker容器化技术和Kubernetes集群管理系统搭建一套高效的自动化运维平台。通过深入分析Docker的轻量级虚拟化特性及Kubernetes的编排能力,本文展示了从基础设施搭建到持续集成、部署和监控的全自动化流程,旨在为运维工程师提供一种提高生产力、降低运营成本的可行解决方案。
|
5天前
|
运维 监控 Kubernetes
构建高效稳定的云基础设施:自动化运维在企业级应用中的关键实践Kubernetes集群监控与性能优化策略
【5月更文挑战第27天】 随着云计算技术的不断成熟和企业数字化转型的深入,构建一个高效、稳定且可扩展的云基础设施已成为众多组织的核心诉求。本文将重点探讨自动化运维在实现这一目标中的重要作用,通过案例分析展示自动化工具和策略如何优化资源管理、提升服务响应速度以及降低运营成本。文章还将讨论自动化过程中面临的挑战,如安全性、复杂性管理和人员技能提升,并提供针对性的解决方案。
|
5天前
|
运维 Prometheus Kubernetes
基于Kubernetes的容器化运维实践
本文将介绍如何在Kubernetes平台上进行容器化运维。首先,我们将了解Kubernetes的基本概念和组件。然后,我们将探讨如何部署和管理应用程序,以及如何使用Kubernetes进行自动化运维。最后,我们将讨论一些最佳实践和常见问题解答。通过阅读本文,您将能够更好地理解Kubernetes在现代IT环境中的重要性,并学会如何有效地利用它来提高运维效率。
|
4天前
|
存储 运维 监控
Kubernetes 集群监控与日志管理实践
【5月更文挑战第28天】在微服务架构日益普及的当下,容器编排工具如 Kubernetes 已成为运维工作的核心。有效的集群监控和日志管理是确保系统稳定性和服务可靠性的关键。本文将深入探讨 Kubernetes 集群的监控策略,以及如何利用现有的工具进行日志收集、存储和分析,以实现对集群健康状况的实时掌握和问题快速定位。
|
20小时前
|
Kubernetes 微服务 容器
Aspire项目发布到远程k8s集群
Aspire项目发布到远程k8s集群
8 2
Aspire项目发布到远程k8s集群
|
1天前
|
运维 Kubernetes 调度
【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路
【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路