2017-03-12 14 views
1

AWS에서 Kops로 설정 한 버전 1.5.2의 Kubernetes 클러스터를 실행합니다. 셋업에는 이국적인 것이 없습니다. 내 노드는이고 디스크 저장 용량은 70Gb이며 1000 iops입니다.Kubernetes 노드 높은 디스크 IO 및 CPU 사용량

필자는 일부 노드가 iops로 정신을 잃을 때가 있습니다. 여기에 내가 볼 것입니다 :

enter image description here

그래서 뒤이 고정 표시기 오버레이 디렉토리에있는 모든 내 IOPS를 취할. 여기가 무슨 kubelet 로그 표시입니다 :

fsHandler.go:131] du and find on following dirs took 4.22914425s: [/var/lib/docker/overlay/592c1d88d1fd115f21e8fe6f198a8a27cd44efefb9b5dc58940fbf6d7999eda3 /var/lib/docker/containers/2347d28886bc0e6b74fc326538e1483927ddeb89b38e035acd845d5db621cb79] 
fsHandler.go:131] du and find on following dirs took 24.94283434s: [/var/lib/docker/overlay/81f24df3624ebf7b7e45edc38fafeb41958bc675ae57fd0126c44cb2c3a6d6d6 /var/lib/docker/containers/43d576931081500fd4cd316afe5bfc6ff2442ff20e8e8266c27e930a0a77dd34] 
fsHandler.go:131] du and find on following dirs took 18.478782737s: [/var/lib/docker/overlay/422ef31413df4e76de51acaa7d6ff6f77edc65fabde88a7c70e7edad3b1e55e5 /var/lib/docker/containers/1519a33729c8fb13297358edc53fe22f0b4b684636884976dfcb67c47fbf320b] 
helpers.go:101] Unable to get network stats from pid 13515: couldn't read network stats: failure opening /proc/13515/net/dev: open /proc/13515/net/dev: no such file or directory 
fsHandler.go:131] du and find on following dirs took 7.971745844s: [/var/lib/docker/overlay/45b83939bd1b4ec7dfa627bb6a9eb8b89a380007f9e22a93fff2ba4054252271 /var/lib/docker/containers/f6d3387423398d7dd4fac6c19ee0a1446d0465b5f9cf90289fcd605ad28c0d6e] 
fsHandler.go:131] du and find on following dirs took 5.886763577s: [/var/lib/docker/overlay/8c01a73671eedb2e62c58fa12fc2d25df58c506545b6ea048fa0db1756d19f2c /var/lib/docker/containers/1d9c0ebcc6dbbd7065923f7f81c05c0d9d710aed0d353a1bab90ce1c994dfb57] 
fsHandler.go:131] du and find on following dirs took 5.714942029s: [/var/lib/docker/overlay/26213ba30a17f240a9b9756a0d23ab32550f921de533667c9ab91cfb7f10ed5b /var/lib/docker/containers/7c27c242a49d8d33cee8b2e8335dae450af13b26f010794dc83ef5750a212d0d] 
fsHandler.go:131] du and find on following dirs took 6.111478835s: [/var/lib/docker/overlay/0fe2bd0feeda24699bd6d443ca126ac1a33071cdff039ae9fd9159bbef80867b /var/lib/docker/containers/ec6fb966139e9666ec0be5e13399773f1971ddd99841b84167a7463402e28d73] 
fsHandler.go:131] du and find on following dirs took 2.661604836s: [/var/lib/docker/overlay/04f9d01a8863cfee26e678e938fced84f826dda6ed03626dda11b6aad6901465 /var/lib/docker/containers/a4e37aee69c7523c46c5252c1834fa3fcd5a804a7aee256a468e44b4d6bcbd64] 
fsHandler.go:131] du and find on following dirs took 11.834409809s: [/var/lib/docker/overlay/4cb1476621b90e2c2ee2b1131c0e6ac62f62dc3ca418129812b487bffac1d827 /var/lib/docker/containers/5a01521cfdd3041aff128dce7353ab336ddafa60c8c0b2254fb6bae697cb1676] 
+0

용기/포드를 시작한 후 즉시 중단하고 있습니까? 컨테이너가 시작되지 않고 오케스트레이션이 keepz를 재 시도하는 경우 이런 종류의 쓰레기가 발생했습니다. – Robo

+0

모든 포드가 5 일 이상 실행 중입니다. 따라서 포드를 다시 시작해야하는 것 같지 않습니다. 게다가 나는 오래 실행되는 프로세스 만 있습니다. 'iotop'은'du -s/var/lib/docker/overlay/DIGEST'와 같은 프로세스를 계속 보여줍니다. – rmonjo

답변

0

내가 K8S 버전 1.6로 업그레이드를 권장하여 문제를 디버깅 할 수 있도록해야 CHANGELOG에서 언급 된 많은 업데이트가 있습니다.

일반적으로 EBS 볼륨은 장치의 모든 블록을 읽고 쓰는 것으로 완전히 "예열"하지 않으면 IO의 관점에서 완전히 사용할 수 없습니다.

+1

kubernetes 1.7을 실행 해본 결과 같은 문제가 발생했습니다. 제 경우에는 커다란 컨테이너 (약 2GB 크기)가 있는데 왜 그렇게 오래 걸릴지 알 수 있습니다. 그러나이 프로세스는 약 1 분 정도 실행됩니다. –