Kubernetes
-
Kubernetesで実践する Platform Engineering
-
Kubernetes/StatefulSet
-
Kubernetes/Initコンテナ#Kubernetes #Cloud Native Podと一緒に定義可能な初期化を行うコンテナ サイドカーでも同挙動は実現可能だが、ただ一度のみ実行されるのでリソースを調整しやすい Init Containers | Kubernetes
-
Kubernetes/ServiceAccount
-
Kubernetes/Label#Kubernetes リソースのメタデータとしてリソースを特定するために用いられる Labelにはインデックスが貼られるため高速な検索が可能
-
Kubernetes/RoleBinding
-
Kubernetes/Readiness Probe#Kubernetes Probeに失敗するとトラフィックを受け取らないようにし、アプリケーションが自分自身で復帰するのを期待する readnessProbeをいつ使うべきか? Readiness Probeを定義する
-
Kubernetes/Network policy
-
Kubernetes/CRD
-
Kubernetes/HorizontalPodAutoscalar
-
Kubernetes/ConfigMap
-
Kubernetes/Ingress
-
Kubernetes/Gateway API#API Architecture #Network #Kubernetes #Cloud Native L4/L7を扱うKubernetes公式のAPIゲートウェイ GatewayClass Gateway HTTPRoute の3つを定義し実装する GatewayClassはGKEのようなクラウドサービスが用意するケースがあり、外部or内部を選択できる Introduction - Kubernetes Gateway API
-
Kubernetes/ClusterRole
-
Kubernetes/Job
-
Kubernetes/Probe#Continuous Delivery #Kubernetes Pod上で定期的に実行されるコンテナの診断、ヘルスチェック チェックの方法として以下の4つがある gRPC HTTP TCP Socket Exec 任意のコマンドを実行し、成功の返り値0を期待する Probeには戦略を示すようないくつかの種類が存在する Podのライフサイクル | Kubernetes
-
Kubernetes/Startup Probe#Kubernetes Probeにおいてアプリケーションの起動にとても長い時間がかかる場合、Startup Probeが成功した後にLiveness ProbeまたはReadiness Probeを開始するような設定ができる startupProbeをいつ使うべきか? Startup Probeを使用して、起動の遅いコンテナを保護する
-
Kubernetes/Pod Security StandardsPSS #Security #Kubernetes Podが満たすべきセキュリティ標準 3つのセキュリティプロファイルにグループ分けされており上から順に制限が厳しくなっていく Privileged Baseline Restricted Pod Security Standards | Kubernetes
-
Kubernetes/Downward API#Kubernetes Podのメタデータを環境変数を通じてコンテナに渡すようなケースで利用できるAPI Downward API | Kubernetes
-
Kubernetes/Headless Service#Kubernetes Serviceの定義方法の一つ clusterIP .spec.clusterIP を "None" に指定することで、PodのIPを直接参照するような設定にしkube-proxyはServiceに関与しなくなる Service | Kubernetes
-
Kubernetes/CronJob
-
Kubernetes/Inter-pod affinity and anti-affinity#Kubernetes kube-schedulerにおいて、Podアフィニティでは同一Nodes内に配置されるPodを指定することができる 合わせてPodアンチアフィニティでは同一ノードに配置されるべきでないPodを指定できる Assigning Pods to Nodes | Kubernetes
-
Kubernetes/Volume
-
Kubernetes/Taints and Tolerations#Kubernetes kube-schedulerにおいて、Node affinityのようなPodに対する設定ではなくNodesに対する設定によってPodの配置を決定する Taints and Tolerations | Kubernetes
-
Kubernetes/PersistentVolume
-
Kubernetes/Secret
-
Kubernetes/Role
-
Kubernetes/Security Context#Kubernetes Pod定義に#Security文脈の設定を追加するAPI 主にLinuxベースの以下のような観点に対する制御を行う Non-root User Linux Capabilities Configure a Security Context for a Pod or Container | Kubernetes
-
Kubernetes/Annotation#Kubernetes Labelの利用がそぐわないケースで代替となるメタデータの指定方法、ツールやライブラリからパラメータのように利用されることを想定している Labelと異なりインデックスはされない
-
Kubernetes/Recommended Labels#Kubernetes #Cloud Native Kubernetesリソースを標準的な方法で記述するための共通Labelセット ツール間の相互運用性を実現し、アプリケーションをクエリ可能な方法で記述する 標準ラベル app.kubernetes.io プレフィックスを使用 app.kubernetes.io/name - アプリケーション名 app.kubernetes.io/instance - 一意なインスタンス識別子 app.kubernetes.io/version - 現在のバージョン app.kubernetes.io/component - アーキテクチャ内のコンポーネント app.kubernetes.io/part-of - 上位レベルのアプリケーション名 app.kubernetes.io/managed-by - 管理ツール https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/
-
Kubernetes/DaemonSet
-
Kubernetes/Pod Security AdmissionPSA #Security #Kubernetes Pod Security Standardsを違反する可能性がある際のアクションを実行する アクションは以下の3つ Warn Audit Enforce Pod Security Admission | Kubernetes
-
Kubernetes/Deployment
-
Kubernetes/Liveness Probe#Kubernetes Probeに失敗するとコンテナを再起動する livenessProbeをいつ使うべきか? HTTPリクエストによるLiveness Probeを定義する
-
Kubernetes/GracePeriod#Kubernetes Podを終了する際、プロセスがSIGTERMシグナルを受け取ってからSIGKILLで強制終了されるまでの猶予期間 デフォルトは30秒で、terminationGracePeriodSecondsで設定可能 主な処理フロー: Podが「Terminating」状態になりSIGTERMシグナルが送信される アプリケーションがGracePeriod内に終了すれば即座に次の段階へ GracePeriod経過後も実行中の場合、SIGKILLで強制終了 preStopフックもGracePeriod内で実行される https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination
-
Kubernetes/PodDisruptionBudgetPDB #Kubernetes 定常的に使用可能にしたいPod数を指定するような仕組み シングルトンなServiceを構築するようなケースで常に1台を使用可能にする、といった用途がある Disruption | Kubernetes
-
Kubernetes/Security#Security #Kubernetes Kubernetesクラスタとワークロードを保護するためのセキュリティ対策の総称 4Csセキュリティモデルに基づき、Cloud、Cluster、Container、Codeの各レイヤーで多層防御を実装する 主なセキュリティ機能: アクセス制御: ServiceAccount、Role、RBAC Pod保護: Security Context、Pod Security Standards、Pod Security Admission ネットワーク: Network policy、サービスメッシュ シークレット管理: Secret https://kubernetes.io/docs/concepts/security/
-
Kubernetes/Service
-
Kubernetes/ReplicaSet
-
Kubernetes/Namespace#Kubernetes 1つのクラスタ内に存在するリソース群を名前空間として分離することができる機能 Deployment,Serviceなどは名前空間内に配置できるが、PersistentVolumeなどはクラスタ全体に適用されるため名前空間内に配置できない Namespaces | Kubernetes
-
Kubernetes/ClusterRoleBinding
-
Kubernetes/Operator#Kubernetes CRDによるカスタムリソースとそれを操作するControllerを共に使うパターン Operator pattern | Kubernetes
-
Kubernetes/Nodes
-
Kubernetes/Topology Spread Constraint#Kubernetes kube-schedulerにおいて、Inter-pod affinity and anti-affinityでは解決できないようなRolling Update時の不均等なPod配置を許容する Pod Topology Spread Constraints | Kubernetes
-
Kubernetes Network Policy Recipes#Kubernetes Network policyの実装例をまとめたリポジトリ ahmetb/kubernetes-network-policy-recipes