K8Sは、ポッドまたはコンテナのセキュリティコンテキストsecurityContextを構成して、ファイルハンドルの数を制限するDockerコンテナの問題を解決します。


一つ、問題

コンテナ内のファイルハンドルの最大数を204800に設定する必要がありますが、拒否されます。これは、Docker独自のセキュリティメカニズムが原因です。

Dockerセキュリティサポートについて話す

ここに写真の説明を挿入

二、解決策

方法一:简单粗暴

コンテナを特権モードに設定しますが、セキュリティは高くありません

次の2行をyamlファイルに追加します

securityContext:
      privileged: true

ここに写真の説明を挿入

kubectl apply -f pod-01.yaml			#发现有如下报错

ここに写真の説明を挿入
前のポッドを削除して、kubectlapplyを実行する必要があります

kubectl delete -f pod-01.yaml
kubectl apply -f pod-01.yaml

ここに写真の説明を挿入
今回はエラーは報告されていません。コンテナに入れてください

kubectl exec -it pod-01 bash
ulimit -n 204800

正常に設定
ここに写真の説明を挿入

方法二:温柔可佳

CAP_SYS_RESOURCE高いセキュリティで、機能の機能をコンテナ追加します
ここに写真の説明を挿入

機能紹介はこちら

securityContext:
      capabilities:
        add: ["SYS_RESOURCE"]

ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/anqixiang/article/details/108546101