- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的Mac上的Minikube中有一个本地Kubernetes集群。我将Minio独立服务器部署为具有指定资源限制的单个容器。当我上载大于容器内存限制的文件时,容器因OOMKilled
原因终止。在Ubuntu上,上传的安装文件相同,没有错误。
Minikube在VirtualBox中运行,并配置为使用4GB内存。我还使用Heapster和Metric Server来检查一段时间内的内存使用情况。
$ minikube config set memory 4096
$ minikube addons enable heapster
$ minikube addons enable metrics-server
$ minikube start
resources:
requests:
cpu: '500m'
memory: '256Mi'
limits:
cpu: '500m'
memory: '256Mi'
videos-storage.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: videos-storage-pv
labels:
software: minio
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /data/storage-videos/
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: videos-storage-pv-claim
spec:
storageClassName: ''
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
selector:
matchLabels:
software: minio
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: videos-storage-deployment
spec:
selector:
matchLabels:
app: videos-storage
template:
metadata:
labels:
app: videos-storage
spec:
initContainers:
- name: init-minio-buckets
image: minio/minio
volumeMounts:
- name: data
mountPath: /data/storage-videos
command: ['mkdir', '-p', '/data/storage-videos/videos']
containers:
- name: minio
image: minio/minio
volumeMounts:
- name: data
mountPath: /data/storage-videos
args:
- server
- /data/storage-videos
env:
- name: MINIO_ACCESS_KEY
value: 'minio'
- name: MINIO_SECRET_KEY
value: 'minio123'
ports:
- containerPort: 9000
resources:
requests:
cpu: '500m'
memory: '256Mi'
limits:
cpu: '500m'
memory: '256Mi'
readinessProbe:
httpGet:
path: /minio/health/ready
port: 9000
initialDelaySeconds: 5
periodSeconds: 20
livenessProbe:
httpGet:
path: /minio/health/live
port: 9000
initialDelaySeconds: 5
periodSeconds: 20
volumes:
- name: data
persistentVolumeClaim:
claimName: videos-storage-pv-claim
---
apiVersion: v1
kind: Service
metadata:
name: videos-storage-service
spec:
type: LoadBalancer
ports:
- port: 9000
targetPort: 9000
protocol: TCP
selector:
app: videos-storage
$ kubectl apply -f videos-storage.yaml
$ minikube service videos-storage-service
videos
存储桶并上传一个1 GB的文件。上载约250 MB的内存后,我在Minio仪表板中收到错误消息。玩限制并分析Heapster图,我可以看到文件大小和内存使用之间的相关性。容器使用与文件大小完全相同的内存量,这对我来说很奇怪。我的印象是文件上传期间不会将文件直接存储在内存中。
Name: videos-storage-deployment-6cd94b697-p4v8n
Namespace: default
Priority: 0
Node: minikube/10.0.2.15
Start Time: Mon, 22 Jul 2019 11:05:53 +0300
Labels: app=videos-storage
pod-template-hash=6cd94b697
Annotations: <none>
Status: Running
IP: 172.17.0.8
Controlled By: ReplicaSet/videos-storage-deployment-6cd94b697
Init Containers:
init-minio-buckets:
Container ID: docker://09d75629a39ad1dc0dbdd6fc0a6a6b7970285d0a349bccee2b0ed2851738a9c1
Image: minio/minio
Image ID: docker-pullable://minio/minio@sha256:456074355bc2148c0a95d9c18e1840bb86f57fa6eac83cc37fce0212a7dae080
Port: <none>
Host Port: <none>
Command:
mkdir
-p
/data/storage-videos/videos
State: Terminated
Reason: Completed
Exit Code: 0
Started: Mon, 22 Jul 2019 11:08:45 +0300
Finished: Mon, 22 Jul 2019 11:08:45 +0300
Ready: True
Restart Count: 1
Environment: <none>
Mounts:
/data/storage-videos from data (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-zgs9q (ro)
Containers:
minio:
Container ID: docker://1706139f0cc7852119d245e3cfe31d967eb9e9537096a803e020ffcd3becdb14
Image: minio/minio
Image ID: docker-pullable://minio/minio@sha256:456074355bc2148c0a95d9c18e1840bb86f57fa6eac83cc37fce0212a7dae080
Port: 9000/TCP
Host Port: 0/TCP
Args:
server
/data/storage-videos
State: Running
Started: Mon, 22 Jul 2019 11:08:48 +0300
Last State: Terminated
Reason: OOMKilled
Exit Code: 0
Started: Mon, 22 Jul 2019 11:06:06 +0300
Finished: Mon, 22 Jul 2019 11:08:42 +0300
Ready: True
Restart Count: 1
Limits:
cpu: 500m
memory: 256Mi
Requests:
cpu: 500m
memory: 256Mi
Liveness: http-get http://:9000/minio/health/live delay=5s timeout=1s period=20s #success=1 #failure=3
Readiness: http-get http://:9000/minio/health/ready delay=5s timeout=1s period=20s #success=1 #failure=3
Environment:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
Mounts:
/data/storage-videos from data (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-zgs9q (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
data:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: videos-storage-pv-claim
ReadOnly: false
default-token-zgs9q:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-zgs9q
Optional: false
QoS Class: Guaranteed
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events: <none>
dmesg
:
[ +3.529889] minio invoked oom-killer: gfp_mask=0x14000c0(GFP_KERNEL), nodemask=(null), order=0, oom_score_adj=-998
[ +0.000006] CPU: 1 PID: 8026 Comm: minio Tainted: G O 4.15.0 #1
[ +0.000001] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
[ +0.000000] Call Trace:
[ +0.000055] dump_stack+0x5c/0x82
[ +0.000010] dump_header+0x66/0x281
[ +0.000006] oom_kill_process+0x223/0x430
[ +0.000002] out_of_memory+0x28d/0x490
[ +0.000003] mem_cgroup_out_of_memory+0x36/0x50
[ +0.000004] mem_cgroup_oom_synchronize+0x2d3/0x310
[ +0.000002] ? get_mem_cgroup_from_mm+0x90/0x90
[ +0.000002] pagefault_out_of_memory+0x1f/0x4f
[ +0.000002] __do_page_fault+0x4a3/0x4b0
[ +0.000003] ? page_fault+0x36/0x60
[ +0.000002] page_fault+0x4c/0x60
[ +0.000002] RIP: 0033:0x427649
[ +0.000001] RSP: 002b:000000c0002eaae8 EFLAGS: 00010246
[ +0.000154] Memory cgroup out of memory: Kill process 7734 (pause) score 0 or sacrifice child
[ +0.000013] Killed process 7734 (pause) total-vm:1024kB, anon-rss:4kB, file-rss:0kB, shmem-rss:0kB
apiserver
;并且文件也不会上传。之后,我向Minio容器添加了资源限制,并且群集本身变得稳定,但是Minio容器仍然死亡。
最佳答案
我也posted this issue to Minio repository,得到的响应是256mb
太低。将内存增加到512mb
后,它可以正常工作。
关于docker - 上载文件时Minio OOM(内存不足),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57143001/
我正在使用以下dockerfile: FROM ubuntu:14.04 MAINTAINER xxx xxx # SSH RUN apt-get update && apt-get install
我运行了docker-compose build celery,(经过数小时的尝试,我的连接不良)成功了。 app Dockerfile的前80%是相同的,但不会重复使用缓存。从我可以浏览的内容来看,
我可以使用以下命令成功创建 Docker 注册表 v2 服务:docker service create 然后我使用 docker Push 将一些图像推送到该服务。 当我通过 curl localh
我正在尝试使用 gitlab 构建 CI,我从 docker 的 docker 镜像开始,我的前端存储库没有任何问题,但现在使用相同的 gitlab-ci 配置文件,我有此守护程序错误。 这是构建的输
用例: 我们在 Jenkins 中有几个“发布作业”build 和 push 应用程序的 Docker 镜像到 docker registry,更新各种文件中的项目版本,最后将发布标签推送到相应的 G
当我尝试构建我的 docker 文件时,docker 返回以下错误: [+] Building 0.0s (1/2)
docker-in-docker 的作者在此博客中建议不要将此图像用于 CI 目的: jpetazzo/Using Docker-in-Docker for your CI or testing en
我创建了一个 Dockerfile 来在 Docker 中运行 Docker: FROM ubuntu:16.04 RUN apt-get update && \ apt-get in
我尝试为 Docker 镜像定位一个特定标签。我怎样才能在命令行上做到这一点?我想避免下载所有图像,然后删除不需要的图像。 在 Ubuntu 官方版本中,https://registry.hub.do
我正在尝试在docker中运行docker。唯一的目的是实验性的,我绝不尝试实现任何功能,我只想检查docker从另一个docker运行时的性能。 我通过Mac上的boot2docker启动docke
docker-compose.yml version: "3" services: daggr: image: "docker.pvt.com/test/daggr:stable"
我有一个非常具体的开发环境用例。在一些代码中,我启动了一个容器来抓取页面并检索在容器中运行的服务(Gitlab)的 token 。 现在,我希望 Dockerize 运行它的代码。具体来说,类似: o
之前已经问过这个问题,但我不确定当时是否可以使用docker-compose文件完成docker堆栈部署。 由于最新版本支持使用compose将服务部署到堆栈,因此,我无法理解dab文件的值。 我检查
我在一次采访中被问到这个问题,但无法回答。也没有找到任何相关信息。 最佳答案 正如 Docker 文档中所述,Docker 注册表是: [...] a hosted service containin
有没有一种方法可以将具有给定扩展名的所有文件复制到Docker中的主机?就像是 docker cp container_name:path/to/file/in/docker/*.png path/o
我的日志驱动程序设置为journald。使用日志记录驱动程序时,daemon.json文件中的日志级别配置会影响日志吗?使用docker logs 时仅会影响容器日志? 例如,docker和journ
我最近开始使用Docker + Celery。我还共享了full sample codes for this example on github,以下是其中的一些代码段,以帮助解释我的观点。 就上下文
运行docker build .命令后,尝试提交构建的镜像,但收到以下错误 Step 12 : CMD activator run ---> Using cache ---> efc82ff1ca
我们有docker-compose.yml,其中包含Kafka,zookeeper和schema registry的配置 当我们启动docker compose时,出现以下错误 docker-comp
我是Docker的新手。是否可以在Docker Hub外部建立Docker基本镜像存储库?假设将它们存储在您的云中,而不是拥有DH帐户?谢谢。 最佳答案 您可以根据需要托管自己的注册表。可以在Depl
我是一名优秀的程序员,十分优秀!