vmstat 命令说明
命令说明vmstat 提供的信息是从硬件和物理参数的角度。vmstat 第一次的数据显示的是从上一次重启到现在的平均值,所以只能用来参考。标题内容就不在解释了,分别是 进程 , 内存, 交换 , IO, 系统 , 和 CPU。 详细参数如下: r - 等待运行的进程数量, 多少个进程在R状态, 并一直取得并占用CPU时间片。 b - Uninterreptable Sleep的进程数量, 有多少个处于D状态显示的进程, 通常代表有多少个进程正常等待IO资源。 swpd: VirtualMemory的值 (KB), 交换的使用量,如果未开启交换分区就会显示是 0。 这个指标和后面的 si so 是整体的, swpd 有用量, 那么si/so 就有数据, swpd 是 0, 那么永远不会有 si/so。 free: IdleMemory的值(KB), 完全可用的内存, 这里free的内存是 完全没有被分配的。total - buffer - cache - used 计算完了之后剩下的, 与 free 命令中的 free 字段是同样的含义。 buff...
Kubectl Apply 报错 annotation Too long
重装 Prometheus operator 的时候报错, 提示 annotation 太长了,不能 apply 12345678910111213> kubectl apply -f ./setupcustomresourcedefinition.apiextensions.k8s.io/alertmanagerconfigs.monitoring.coreos.com createdcustomresourcedefinition.apiextensions.k8s.io/alertmanagers.monitoring.coreos.com createdcustomresourcedefinition.apiextensions.k8s.io/podmonitors.monitoring.coreos.com createdcustomresourcedefinition.apiextensions.k8s.io/probes.monitoring.coreos.com createdcustomresourcedefinition.apiextensions.k8...
archlinux 配置 xorg 使用 nvidia T4
最近的一个想法,基于 dd 到中国区域的 archlinux, 可以尝试直接改改 xorg, 用用 nvidia 的显卡。 大概折腾了一天, 记录一下步骤和过程。 之前使用的是 Xorg + DWM 的简单架构, 软件非常少。那么在这个软件的基础上启用显卡和配置xorgserver 使用显卡, 基本上就是这两部分。 安装显卡驱动 查看显卡信息 12> lspci00:1e.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1) 安装驱动直接参考archwiki , 一条命令搞定, 走dkms。安装的这个版本的闭源驱动。 1234567891011121314> pacman -Ss nvidia-dkmsextra/nvidia-dkms 545.29.06-1 [installed] NVIDIA drivers - module sources> pacman -S nvidia-utils# 启动驱动程序的守护进程。# 这个如果不开启的话, xrdp 调用 xorg ser...
查看EKS集群节点上的容器和ENI的对应关系
版本信息12345678root@ip-172-31-35-61 ~ [1]# containerd -vcontainerd github.com/containerd/containerd v1.6.16 31aa4358a36870b21a992d3ad2bef29e1d693bec.mroot@ip-172-31-35-61 ~# uname -aLinux ip-172-31-35-61.cn-north-1.compute.internal 6.1.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 06 Feb 2023 09:28:04 +0000 x86_64 GNU/Linuxroot@ip-172-31-35-60 ~ [1]# kubelet --versionKubernetes v1.24.9-eks-49d8fe8 容器虚拟网卡和节点网卡的关主要的思路是通过veth的id 。 找到 Pod 的 Pause 容器 1234root@ip-172-31-35-61 ~# nerdctl -n k8s.io ps | grep -...
自管理节点加入集群
添加一个自管理的节点 创建集群,启动一个新的 EC2, 登录到已经启动的 EKS 优化 OS 内,准备复制一些脚本过来。 添加EC2的标签: kubernetes.io/cluster/clusterName owned 配置EC2的Instance Profile 控制台获取 Kubernetes APIServer的Endpoint URL 获取 apiserver b64 CA : cat ~/.kube/config 这个文件里面可以找到 ,或者是通过EKS的控制台上面, 找到 Base64 的 CA。 编辑 userdata, 或者 ssh 登录到ec2上面创建一个bash脚本用来调用 bootstrap.sh 12345678910mkdir ~/eks; touch ~/eks/start.sh---#!/bin/bashset -exB64_CLUSTER_CA=API_SERVER_URL=K8S_CLUSTER_DNS_IP=10.100.0.10/etc/eks/bootstrap.sh ${ClusterName&...
Filebeat 输出日志到 Opensearch
这个最后基本上可以确认是一个兼容性问题,测试完成发现, 开启兼容模式的Opensearch+filebeat的组合, filebeat 还是会不定期重启。 背景需求是,使用ES + filebeat 模式在收集日志。使用Supervisor作为容器的主进程管理工具,启动后分别运行 应用(这里用nginx代替) + filebeat 现在想要用ECS Fargate, 然后依旧还是这个模式, 尽可能新的变动之前的架构, ES 替换成 OpenSearch。 按照这个路数测试。 创建Opensearch版本:OpenSearch 2.11 (latest)OpenSearch_2_11_R20231113-P1 (latest)Availability Zone(s)1-AZ without standby 构建Supervisor管理的容器创建 Dockerfile创建dockerfile的部分, 比较难的是 , 需要找到合适的filebeat版本参考页面: Agents and ingestion tools其他的步骤就下载安装就可以. 1234567891011121...
Windows Core EKS 节点管理命令
windows 查看磁盘空间的使用情况: 1Get-PSDrive -Name C | Select-Object Name, Free windows 实例的磁盘空间扩容 1234diskpartlist volumeselect volume 0extend 从ecr下载镜像 12345$ecrCreds = (Get-ECRLoginCommand).passwordWrite-Host $ecrCredsctr -n k8s.io image pull -u AWS:$ecrCreds ecr link pull image 需要使用节点的C盘空间, 在节点的磁盘空间不足的情况下,会报错。 12rpc error: code = Unknown desc = failed to pull and unpack image failed to extract layer sha256:9ee7a25f1f619685e0c27cd1f08b34fd7a567f8f0fa789gf9aeb79c72169afa: hcsshim::ImportLayer faile...
TrueNas Scale 让 ZFS 占用更多内存作为 ARC
安装 TrueNas Scale 玩儿了一下, 劝退了有点。 TrueNAS Scale 作为 Linux Based 版本在使用内存上比较谨慎, ARC 并不会使用所有的内存, 这样的设计过于保守了。 内存当然是利用的越充分越好。 Config the ARC Memory to 75% Total Memory : 12$ echo 2995556352 > /sys/module/zfs/parameters/zfs_arc_max$ echo 268435456 > /sys/module/zfs/parameters/zfs_arc_sys_free 也可以使用一个这样的 shell 脚本来进行分析和配置。这个脚本会将 arc 的比例调整到 90% 的总内存。 1234567891011#!/bin/shPATH="/bin:/sbin:/usr/bin:/usr/sbin:${PATH}"export PATHARC_PCT="90"ARC_BYTES=$(grep '^MemTot...
TrueNas Core 当前基准测试指标
我在日常的使用中, 如果是连续的文件,我其实感受不到磁盘性能的问题,一直都很好, 如果是小文件随机就非常的折磨。 这让我意识到自己还没有对磁盘进行基准测试 ,记录如下:TrueNAS 读取 和 写入的测试监控, 每次测试5mins,开始的时间是 9:55 , 所有磁盘都有写入的原因是 ,fio 在创建测试文件来测试读取。 ada0 是一个 sata ssd。ada1 和 ada2 是两个 hdd。 吞吐量:IOPS: 读取测试这个是符合预期的 read 的所有请求都来自于内存。 12345678910111213141516171819202122232425262728root@haydentruenas[/mnt/root_pool]# fio --name=seqread --rw=read --bs=1M --size=1G --numjobs=1 --runtime=300 --time_based --group_reportingseqread: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB...
在EC2实例每次启动的时候都运行Userdata
使用Cloud-init提供读取Userdata的功能。 需要在Userdata中添加一个 MIME 的头部, 覆盖默认的行为。 https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archivehttps://repost.aws/zh-Hans/knowledge-center/execute-user-data-ec2 具体需要添加的MIME 部分: 123456789101112131415161718Content-Type: multipart/mixed; boundary="//"MIME-Version: 1.0--//Content-Type: text/cloud-config; charset="us-ascii"MIME-Version: 1.0Content-Transfer-Encoding: 7bitContent-Disposition: attachment; filename="cl...


