知っておくべきKubernetesのベストプラクティス10選

gavin.zhou
12 min readJun 13, 2023

1.ネームスペースの使用

ネームスペースは、物理クラスタの中にある仮想クラスタです。ネームスペースは、チームとその環境との間の論理的な分離を提供します。Kubernetesクラスタが大規模で複数のチームが作業している場合、各チームに別々のネームスペースを用意する必要があります。

例えば、開発チーム、テストチーム、本番チーム用にそれぞれ異なるネームスペースを作成する必要があります。こうすれば、開発用ネームスペースにしかアクセスできない開発者が、誤ってでも本番用ネームスペースに変更を加えることができなくなります。

apiVersion: v1
kind: Pod
metadata:
name: mypod
namespace: test
labels:
name: mypod
spec:
containers:
- name: mypod
image: nginx

2.リソースリクエストとリミットの設定

リソース リクエストとリミットは、KubernetesがCPUやメモリなどのリソースを制御するため\\に使用するメカニズムです。リクエストをすれば、コンテナが必ず取得できるようになります。

コンテナがリソースをリクエストすると、Kubernetesはそのリソースを与えることができるノードにのみスケジュールします。一方、リミットは、コンテナがある値を超えることがないようにするものです。コンテナは制限値までしか上がることができず、それ以降は制限されます。

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
resources:
limits:
memory: 200Mi
cpu: 1
requests:
memory: 100Mi
cpu: 100m
ports:
- containerPort: 80

3.レディネスプローブ*ライブリネスプローブの使用

  • ライブネスプローブ —…

--

--