Kubernetes 数据分区大小



向 Kubernetes 提交了错误报告,但没有得到任何回应。 查看此处以获取任何建议。

发生了什么事:

主机操作系统是 CentOS 7.6。根分区中大约有 50GB。所以我把docker引擎数据根/var/lib/docker移到了/mnt/storage下,大约有1.8TB。Kubernetes 继续使用/var/lib/docker,并开始驱逐使用接近 50GB 的 POD。

您期望发生的情况:

Kubernetes 遵循 docker 使用相同的 docker 引擎数据根存储。

如何重现它(尽可能少和精确(:

(1( 将 "data-root" 添加到/etc/docker/daemon.json。指向已装载的磁盘存储。重新启动码头工人。 (2( docker run --rm -it busybox sh -c '而真;做 df -h/;睡眠1;完成'

Filesystem Size Used Available Use% Mounted on
overlay 1.8T 227.5G 1.5T 13% /

(3(应用以下测试.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 1
selector:
matchLabels:
app: test
template:
metadata:
labels:
app: test
spec:
enableServiceLinks: false
containers:
- name: test
image: busybox
imagePullPolicy: IfNotPresent
command: ["sh","-c","while true; do df -h /mnt; sleep 1; done"]
volumeMounts:
- mountPath: /mnt
name: storage
volumes:
- name: storage
emptyDir: {}

日志显示:

Filesystem Size Used Available Use% Mounted on
/dev/mapper/centos-root
50.0G 45.0G 5.0G 90% /mnt

环境:

Kubernetes 版本(使用 kubectl 版本(:

Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:56:40Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:48:36Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}

操作系统(例如:cat/etc/os-release(:

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

为了更改默认emptyDir挂载路径,您必须在 kubelet 中使用--root-dir标志。

--

root-dir string
用于管理 kubelet 文件(卷挂载等(的目录路径。(默认 "/var/lib/kubelet"(

只需将--root-dir=/mnt/storage添加到 kubelet,重新启动服务,它就会更改默认挂载路径。

相关内容

  • 没有找到相关文章

最新更新