發表文章

目前顯示的是有「kubectl」標籤的文章

Docker 引擎 ulimits 設定

起因 最先看到這個問題現象是由於在 Docker EE UCP 叢集環境內,下達執行 kubectl 任何子命令操作都卡住,幾乎沒有相應動作。之前這個 UCP 叢集已經運維了好一陣子,都沒有什麼問題,情況來得很突然。 然而,在此容器叢集中,已經既有運行的容器以及服務狀態依然是好的。 過程 容器平台上原先狀態都是好的。後來從當時出問題的節點的 Docker engine 先開始著手調查, 以 CentOS / RHEL 來說,Docker engine 的日誌預設是輸出在作業系統 /var/log/message 這個文件,打開這個文件可以看到類似如下的內容:  29926 Oct  9 08:04:13 docker2 dockerd: time="2019-10-09T08:04:13.139170059+08:00" level=warning msg="failed to retrieve runc version: pipe2: too many open files"  29927 Oct  9 08:04:13 docker2 dockerd: time="2019-10-09T08:04:13.139732508+08:00" level=warning msg="failed to retrieve docker-init version: pipe2: too many open files"  30208 Oct  9 08:06:01 docker2 dockerd: time="2019-10-09T08:06:01.294335790+08:00" level=error msg="Failed to create an ipvs handle for sosbox ingress (ingress,/var/run/       docker/netns/ingress_sosbox) for lb removal: too many open files"  30209 Oct  9 08:06:02 docker2 dockerd: http: Accept error: a...

Bash Completion for Docker and Kubectl

有句話說的好:「工欲善其事,必先利其器」。使用 docker 或 kubectl 命令行工具的時候,往往會被很多子命令以及參數困擾。事先設定好 Completion 命令補齊完成功能,可以讓平日工作輕鬆些。 在之前幾篇文章有約略提到 Bash Completion ,但沒有詳細介紹,這篇文章專門說明在 Linux Bash Shell 環境下的設定方式。 一、關於 Docker 部分,可以進一步細分爲 docker 命令本身, docker-compose , docker-machine 三項, (1)docker 命令本身 下載內容 https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker 並儲存在 /etc/bash_completion.d/docker 可用 curl 命令如下: $ sudo curl -L https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker -o /etc/bash_completion.d/docker-completion 下次登入即可使用。 或是儲存在家目錄下 $HOME/bash_completion.d/docker , 然後在家目錄下的 .bashrc 文件加入下面指令後,下次登入即可使用 # $HOME/.bashrc # Docker client bash shell completion . $HOME/bash_completion.d/docker (2)docker-compose 專門針對 docker-compose 的命令補齊完成功能,是另外一段 bash 腳本, 可用 curl 命令下載: $ sudo curl -L https://raw.githubusercontent.com/docker/compose/1.18.0/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose 儲存在 /etc/...

這個網誌中的熱門文章

Docker 環境下的 Proxy 配置