kubernetes封装命令工具-kyaml
愉快的执行kubernetes集群封装命令
使用要求工具需要在master节点进行运行,确保存在集群管理员kubeconfig(/etc/kubernetes/admin.conf)文件
功能场景描述kubectl get 命令是 Kubernetes 命令行工具中用于获取资源的命令。-o yaml 参数:-o 是 kubectl get 命令中用于指定输出格式的选项。yaml 表示输出格式为 YAML 格式。使用 -o yaml 参数后,kubectl 将返回选定资源的详细信息,以 YAML 格式显示。-o yaml时总是有无用的数据在里面,不方便进行再次使用,因此
点击工具名称即可进行下载kyaml
1234567891011121314151617kyaml工具集Usage: kyaml [command]Available Commands: completion Generate the autocompletion script for the specified shell format 格式化yaml get 获取集群中yaml ...
kubernetesalias:kubernetes封装命令工具
愉快的执行kubernetes集群封装命令
使用要求工具需要在master节点进行运行,确保存在集群管理员kubeconfig(/etc/kubernetes/admin.conf)文件
功能描述点击工具名称即可进行下载
kdel传递条件,筛选出符合条件的所有pod信息,传递编号进行删除对应编号的pod;支持删除单个pod,同时删除多个pod
kdel子命令norun清理整个集群中非Runing状态的pod,保留Job启动的pod;支持指定特定namespace进行清理
klog传递条件,筛选出符合条件的所有pod及容器信息,传递编号进行查看对应编号的容器日志; 例如: klog pod名 查看倒数行数(可选)
kdebug为了安全和缩小容器镜像,大部分容器是不会安装常用的linux命令的,需要查看服务端口运行情况和查看ip地址信息和进程,可通过kubernetes Ephemeral Containers功能进行查看此容器只是共享了pod,并不是源pod,所以仅能查看系统信息,例如:
12345678#查看进程ps aux#查看端口运行netstat -lntp#查看ipifc ...
containerd基础概念
containerd的前世今生,与docker的关系、如何部署containerd、如何接入k8s中
OCIOCI(Open Container Initiative)开放容器倡议,OCI由docker以及其他容器行业领导者创建于2015年,目前主要有两个标准:容器运行时标准(runtime-spec)和容器镜像标准(image-spec)
这两个标准通过OCI runtime filesytem bundle的标准格式连接在一起,OCI镜像可以通过工具转换成bundle,然后 OCI 容器引擎能够识别这个bundle来运行容器
CRICRI(Container Runtime Interface)容器运行时接口,CRI是kubernetes推出的一个标准,推出标准可见其在容器编排领域的地位
runc、containerd 等运行时都去支持此接口。
runcrunC的前身是docker的libcontainer项目,在libcontainer的基础上做了封装,捐赠给OCI的一个符合标准的runtime实现,docker引擎内部也是基于runC构建的
runC只做一件事情就是运行容 ...
kubernetes集群服务部署yaml
包含常见的中间件、数据库、服务工具等的部署yamlnfs动态pv、metrics-server、rabbitmq集群、mongodb集群、elasticsearch集群、kafka集群、zookeeper集群、ingress-nginx、ingress-traefik、rocketmq集群–双主双从模式、kube-prometheus-thanos、clickhouse集群、vector+clickhouse、redis集群
window.location.href = '/download/';
kubernetes集群只读账户kubeconfig创建
权限管理,为kubernetes集群创建只读账户,方便dev人员查看集群信息
shell脚本在可以操作kubernetes集群管理员权限的机器执行
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778#!/bin/bash# 判断是否安装base64if command -v base64 &> /dev/null; then echo "base64 is installed"else echo "base64 is not installed" exit 1fi# 设置只读用户的命名空间namespace="default"# 设置只读用户的名称,与对应linux用户同名,也可以不同名username="ro"# 创建 S ...
binlog恢复数据
本文档介绍如何使用binlog进行数据恢复
场景描述需要恢复的数据日期开始时间为2024-05-28 01:33:02截止时间为2024-06-06 09:40:00先进入mysql的binlog目录所在,一般是/var/lib/mysql对最新的binlog文件执行命令,比如最新的binlog文件为binlog.000050 查看最后10行,确保binlog内记录时间是对的
1mysqlbinlog --no-defaults --base64-output=DECODE-ROWS --start-datetime="2024-05-28 01:33:02" --stop-datetime="2024-06-06 09:40:00" -v ./binlog.000050 | tail -10
这条命令用于读取并解析 MySQL 二进制日志文件 (binlog.000091) 的内容,并且只显示日志文件中的最后 10 行。以下是各个参数的详细介绍:
mysqlbinlog: 这是用于处理 MySQL 二进制日志文件的工具。
--no ...
minio/cos/oss数据迁移到azure blob
将minio/cos/oss的数据迁移到azure blob storage
安装 MinIO Client (mc) 和 az 和 rclone
请确保 mc rclone 和 az 已安装在你的系统中。如果没有安装,可以使用以下命令进行安装:
一般linux系统有一个mc命令,类似于windows的mmc
这里的mc是minioclient的客户端
12345678910# 安装 MinIO Clientwget https://dl.min.io/client/mc/release/linux-amd64/mcchmod +x mcsudo mv mc /usr/local/bin/# 安装rclonesudo -v ; curl https://rclone.org/install.sh | sudo bash# 安装 az 参照下面文档地址https://learn.microsoft.com/zh-cn/cli/azure/install-azure-cli
配置 MinIO Client mc使用 mc 是基于用户的 ,不同用户需要都执行一次 mc ali ...
vector+clickhouse:新型kubernetes集群日志收集方案
Kubernetes集群中将 Vector 和 ClickHouse 结合使用可以构建一个强大的日志收集和分析系统。
方案下载地址: vector+clickhouse
以下是使用 Vector 和 ClickHouse 进行集群日志收集的方案说明:
日志采集使用 Vector 作为日志采集器,它可以部署在每个节点上,负责收集和处理日志数据。Vector 支持从多种来源采集日志,包括文件、标准输出、网络等。
日志传输Vector 可以将采集到的日志数据进行处理和转换,然后传输到 ClickHouse。传输过程中,Vector 支持各种数据格式和协议,确保日志数据可以高效、准确地发送到 ClickHouse。
日志存储ClickHouse 作为日志数据的存储系统,提供高性能的读写能力。ClickHouse 的表结构需要根据日志数据的特点进行设计,以优化查询性能。
日志处理在 Vector 中,可以使用 Vector Remap Language (VRL) 对日志数据进行清洗和转换。可以定义复杂的处理逻辑,将非结构化的日志数据转换为结构化的格式,以便于存储和查询。
日志查询Click ...
terraform部署kubernetes1.26.12集群
使用terraform部署一个kubernetes1.26.12集群
Terraform用途: Terraform是一种基础设施即代码(IaC)工具,用于自动化云和本地基础设施的创建、更新和删除。它支持多云平台,如AWS、Azure、Google Cloud等,以及本地虚拟化平台。工作原理: 用户通过编写HCL(HashiCorp Configuration Language)代码描述所需的基础设施资源,例如虚拟机、存储桶、网络配置等。然后,Terraform根据这些代码执行计划,将实际基础设施配置为代码中所描述的状态。
Kubernetes用途: Kubernetes是一个开源的容器编排平台,用于自动化、部署、扩展和管理容器化应用程序。它提供了一种容器编排的解决方案,使得应用程序可以在一个集群中灵活运行,并自动处理容器的调度、伸缩和故障恢复。工作原理: 用户将应用程序容器化,并使用Kubernetes定义应用程序的部署、服务、配置等方面的规范。Kubernetes集群负责管理这些容器,确保它们在可用节点上运行,并提供高度可扩展的、自我修复的应用程序部署。
项目地址https: ...
golang terraform kubernetes结构体
terraform提供了kubernetes provider(相当于kubectl),但是却不兼容k8s api库的json输出名,对整体输出名都进行了重构;此处例举了Deployment Service Job 等Kind的golang struct,希望可以帮到golang开发人员;
terraform-k8s-type.go
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 ...