Contents
リリース概要と確認すべきポイント
2026 年に v1.36‑beta.0 が公式リポジトリで公開されたことが報告されています(正確なリリース日や詳細は https://github.com/kubernetes/kubernetes/releases/tag/v1.36.0-beta.0 の英語ページをご参照ください)。本セクションでは、現在 公式にアナウンス済み の変更点と、ベータ版で提供されるプレビュー機能の扱い方を整理し、導入前に必ず確認すべきポイントを示します。
公式に確定している主な変更点
以下はリリースノートに明記された 確実に利用可能 な機能です。運用上の影響やマイグレーション手順を把握したうえで、次節以降で紹介するプレビュー機能と区別してください。
API Server の Admission Webhook フレームワーク拡張
新しいフック構造が追加され、外部サービスとのリアルタイム連携 が容易になりました。これにより、従来は静的なポリシーでしか実装できなかった動的検証ロジックを ValidateAdmissionWebhook としてデプロイ可能です。
PodSecurityAdmission のデフォルトポリシー強化
PodSecurity 標準ポリシーが restricted に変更され、全 Namespace で高い制約が自動的に適用されます。既存マニフェストは runAsNonRoot や readOnlyRootFilesystem の有無を事前にチェックする必要があります。
プレビュー機能として提供されている項目(※公式未確定)
ベータ版では 実験的 な機能がいくつかオプションとして公開されています。これらは将来の GA 版で正式採用される可能性がありますが、現時点では 開発者向けドキュメント に記載された範囲に留まります。利用する際は必ず FeatureGate の有効化とリスク評価を行ってください。
| 機能 | 現在のステータス | 主な目的・効果 |
|---|---|---|
| AI 予測型スケジューラ(プレビュー) | 実験的機能 (FeatureGate AIScheduler) |
ポッド配置時に過去実行データを元にリソース競合を予測し、レイテンシ低減を狙う |
| CRI V2 デフォルト化(試験的) | プレビュー (RuntimeV2) |
コンテナランタイム間通信のオーバーヘッド削減と起動時間短縮 |
注意:上記機能は公式リリースノートに記載されていないため、利用は自己責任で行い、必ずステージング環境で十分なテストを実施してください。
ベータ版の取得手順
パッケージマネージャからインストールする流れ
- リポジトリ情報の更新
bash
sudo apt-get update - ベータバージョンを指定してインストール(
=1.36.0-00はパッケージ名に合わせて変更)
bash
sudo apt-get install -y kubeadm=1.36.0-00 \
kubectl=1.36.0-00 kubelet=1.36.0-00 - インストール結果の確認
bash
kubectl version --client --short
# Client Version: v1.36.0-beta.0
公式パッケージは https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/(英語)に記載されています。日本語訳が必要な場合は、Kubernetes 日本ユーザー会のミラーサイトをご活用ください。
FeatureGate の有効化と設定例
プレビュー機能は kube-apiserver と kube-scheduler の起動オプションにフラグを追加することで有効になります。以下は代表的な設定例です。
kube‑apiserver 側の設定
|
1 2 3 4 5 6 7 8 |
# /etc/kubernetes/manifests/kube-apiserver.yaml の抜粋 spec: containers: - name: kube-apiserver command: - kube-apiserver - --feature-gates=APIServerExtended=true,PodSecurityAdmission=true |
kube‑scheduler 側の設定(AI スケジューラ有効化例)
|
1 2 3 4 5 6 7 8 |
# /etc/kubernetes/manifests/kube-scheduler.yaml の抜粋 spec: containers: - name: kube-scheduler command: - kube-scheduler - --feature-gates=AIScheduler=true |
設定変更後は 各コンポーネントが自動的に再起動 されます。journalctl -u kube-apiserver や kubectl get pods -n kube-system でステータスを確認してください。
テスト環境での検証フロー
ベータ版導入前に ローカルまたはステージングクラスター で動作確認を行うことが推奨されます。ここでは代表的な手順を示します。
Kind(Kubernetes IN Docker)でクラスター作成
|
1 2 3 |
kind create cluster --name v1-36-beta \ --image kindest/node:v1.36.0-beta.0 |
kindest/nodeイメージは公式 GitHub のkindリポジトリに掲載されており、英語ドキュメント(https://github.com/kubernetes-sigs/kind)で利用方法が解説されています。
プレビュー機能の有効化テスト
- FeatureGate をマニフェストに追記(上記設定例を参考)。
- サンプル Admission Webhook をデプロイ:
kubectl apply -f examples/webhook/validating-webhook.yaml。 - PodSecurityAdmission の挙動確認:
kubectl run test-pod --image=nginxがrestrictedポリシーでブロックされるかを検証。
負荷テスト(AI スケジューラ効果の簡易測定)
|
1 2 |
k6 run -d 30s scripts/ai-scheduler-load.js |
負荷結果は scheduler のログに出力されるスコアと比較し、プレビュー有無での差分を把握します。
本番導入時のベストプラクティス・チェックリスト
以下の項目を 段階的に実施 することで、予期せぬ障害リスクを最小化できます。各項目は 2 行程度で要点をまとめています。
| チェック項目 | 実施内容 | 推奨ツール・コマンド |
|---|---|---|
| API 互換性確認 | Deprecated API が残っていないか kubectl api-versions で検証 |
kubectl api-resources --api-group='' |
| PodSecurityAdmission 適合性 | 全 Manifest が restricted ポリシーに準拠しているか CI でテスト |
conftest test *.yaml(OPA) |
| FeatureGate 管理 | プレビュー機能は段階的に有効化し、ログでエラーを監視 | kubectl get pods -n kube-system -w |
| ランタイム対応確認 | 使用中の CRI が V2 に対応しているか公式ドキュメント参照 | https://kubernetes.io/docs/concepts/architecture/cri/(英語) |
| ロールバック手順の自動化 | バージョンダウングレードと FeatureGate 無効化をスクリプト化 | bash rollback.sh |
ロールバック手順とトラブルシューティング
ベータ版で問題が発生した場合に備え、即時復旧できるプロセス を事前に用意しておくことが重要です。
標準的なロールバックフロー
|
1 2 3 4 5 6 |
1. 現行ノードのバージョン確認 → kubectl get nodes -o wide 2. 直前の安定版へダウングレード → kubeadm upgrade apply v1.35.0 3. プレビュー用 FeatureGate を削除 → --feature-gates=... のフラグを外す 4. 各コンポーネント再起動 → systemctl restart kubelet (またはマニフェスト更新で自動) 5. ログ確認と障害切り分け → journalctl -u kube-* |
代表的なエラーパターンと対処例
| エラー | 発生原因 | 対策 |
|---|---|---|
admission webhook "example.com" denied the request |
Webhook が期待通りに応答しない | Webhook の TLS 設定・ログを確認し、ネットワークポリシーを一時的に緩和 |
failed to run Kubelet: unknown flag: --feature-gates=RuntimeV2 |
未対応の FeatureGate が有効化されている | kubelet.service の起動オプションから該当フラグを除去し再起動 |
PodSecurityAdmission denied the request |
Manifest が restricted に適合していない |
CI で OPA ポリシーを追加し、事前に検証 |
セキュリティ強化策と運用上の留意点
PodSecurityAdmission の実践的設定例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: restricted-psp spec: privileged: false allowPrivilegeEscalation: false requiredDropCapabilities: - ALL runAsUser: rule: MustRunAsNonRoot seLinux: rule: RunAsAny supplementalGroups: rule: MustRunAs ranges: - min: 1000 max: 65535 volumes: - 'configMap' - 'secret' |
この PSP を restricted ポリシーと合わせて適用することで、最小権限の原則 が徹底できます。
Admission Webhook の安全運用
- TLS 証明書は自動ローテーション(cert-manager 等)を導入し、期限切れによる接続失敗を防止。
- 監査ログは必ず有効化し、
kubectl logs -n kube-system -l component=admission-webhookで可視化。
情報取得と今後のフォロー方法
ベータ版は頻繁に変更が加わるため、公式情報を定期的にチェック する体制を整えてください。
| 方法 | 手順・リンク |
|---|---|
| メーリングリスト | subscribe kube-core@(英語) |
| GitHub マイルストーン監視 | https://github.com/kubernetes/kubernetes/milestones(英語) |
| 公式ブログの Release カテゴリ | https://kubernetes.io/blog/(英語・日本語版あり) |
| 日本語コミュニティ情報 | Kubernetes Japan Users Group の Slack/Discord チャンネル |
これらを活用すれば、GA 移行タイミングや既知バグの修正情報 を迅速に取得でき、安定した運用が実現できます。
まとめ
本稿では、v1.36‑beta.0 の公式変更点とプレビュー機能の取り扱いを整理し、取得手順・テストフロー・本番導入時のチェックリストまで一連の流れを提示しました。未確定情報は明示的に注意喚起し、必ずステージング環境で検証したうえで本番へ展開することを強く推奨します。