Agent Skills by ALSEL
汎用DevOps・インフラ⭐ リポ 0品質スコア 60/100

kubernetes-specialist

Kubernetesのワークロード展開・管理が必要な場合に使用します。デプロイメントマニフェストの作成、Podセキュリティポリシーの設定、サービスアカウントのセットアップ、ネットワーク分離ルールの定義、Podクラッシュのデバッグ、リソースリミットの分析、コンテナログの検査、ワークロードのリサイジングなどができます。Helmチャート、RBACポリシー、NetworkPolicies、ストレージ設定、パフォーマンス最適化、GitOpsパイプライン、マルチクラスタ管理にも対応します。

description の原文を見る

Use when deploying or managing Kubernetes workloads. Invoke to create deployment manifests, configure pod security policies, set up service accounts, define network isolation rules, debug pod crashes, analyze resource limits, inspect container logs, or right-size workloads. Use for Helm charts, RBAC policies, NetworkPolicies, storage configuration, performance optimization, GitOps pipelines, and multi-cluster management.

SKILL.md 本文

Kubernetes スペシャリスト

このスキルの使用時機

  • ワークロードのデプロイ(Deployments、StatefulSets、DaemonSets、Jobs)
  • ネットワークの設定(Services、Ingress、NetworkPolicies)
  • 設定の管理(ConfigMaps、Secrets、環境変数)
  • 永続ストレージのセットアップ(PV、PVC、StorageClasses)
  • アプリケーション パッケージング用の Helm チャートの作成
  • クラスタとワークロードの問題のトラブルシューティング
  • セキュリティのベストプラクティス実装

コアワークフロー

  1. 要件の分析 — ワークロード特性、スケーリングニーズ、セキュリティ要件を理解する
  2. アーキテクチャ設計 — ワークロードタイプ、ネットワークパターン、ストレージソリューションを選択する
  3. マニフェスト実装 — 適切なリソース制限とヘルスチェックを含む宣言的YAML を作成する
  4. セキュリティ適用 — RBAC、NetworkPolicies、Pod Security Standards、最小権限の原則を適用する
  5. 検証kubectl rollout statuskubectl get pods -wkubectl describe pod <name> を実行して健全性を確認し、必要に応じて kubectl rollout undo でロールバックする

リファレンスガイド

コンテキストに基づいて詳細なガイダンスを読み込みます:

トピックリファレンス読み込むタイミング
ワークロードreferences/workloads.mdDeployments、StatefulSets、DaemonSets、Jobs、CronJobs
ネットワーキングreferences/networking.mdServices、Ingress、NetworkPolicies、DNS
設定references/configuration.mdConfigMaps、Secrets、環境変数
ストレージreferences/storage.mdPV、PVC、StorageClasses、CSI ドライバ
Helm チャートreferences/helm-charts.mdチャート構造、値、テンプレート、フック、テスト、リポジトリ
トラブルシューティングreferences/troubleshooting.mdkubectl debug、ログ、イベント、一般的な問題
カスタムオペレータreferences/custom-operators.mdCRD、Operator SDK、controller-runtime、リコンシリエーション
サービスメッシュreferences/service-mesh.mdIstio、Linkerd、トラフィック管理、mTLS、カナリア
GitOpsreferences/gitops.mdArgoCD、Flux、プログレッシブデリバリー、シール済みシークレット
コスト最適化references/cost-optimization.mdVPA、HPA チューニング、スポットインスタンス、クォータ、適切なサイジング
マルチクラスタreferences/multi-cluster.mdCluster API、フェデレーション、クロスクラスタネットワーク、DR

制約事項

必須項目

  • 宣言的な YAML マニフェストを使用する(命令型 kubectl コマンドは避ける)
  • すべてのコンテナにリソースリクエストと制限を設定する
  • ライブネスプローブとレディネスプローブを含める
  • 機密データにはシークレットを使用する(認証情報をハードコードしない)
  • 最小権限の RBAC パーミッションを適用する
  • ネットワークセグメンテーション用に NetworkPolicies を実装する
  • 論理的な分離のために名前空間を使用する
  • 組織化のためにリソースに一貫性のあるラベルを付ける
  • 設定の決定をアノテーションで文書化する

禁止事項

  • リソース制限なしで本番環境にデプロイしない
  • ConfigMaps またはプレーンな環境変数にシークレットを格納しない
  • アプリケーション Pod にデフォルト ServiceAccount を使用しない
  • 制限なしのネットワークアクセスを許可しない(デフォルトですべて許可)
  • 正当な理由がないかぎり root としてコンテナを実行しない
  • ヘルスチェック(ライブネス/レディネスプローブ)をスキップしない
  • 本番環境の画像に latest タグを使用しない
  • 不要なポートやサービスを公開しない

一般的な YAML パターン

リソース制限、プローブ、セキュリティコンテキスト付き Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  namespace: my-namespace
  labels:
    app: my-app
    version: "1.2.3"
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
        version: "1.2.3"
    spec:
      serviceAccountName: my-app-sa   # never use default SA
      securityContext:
        runAsNonRoot: true
        runAsUser: 1000
        fsGroup: 2000
      containers:
        - name: my-app
          image: my-registry/my-app:1.2.3   # never use latest
          ports:
            - containerPort: 8080
          resources:
            requests:
              cpu: "100m"
              memory: "128Mi"
            limits:
              cpu: "500m"
              memory: "512Mi"
          livenessProbe:
            httpGet:
              path: /healthz
              port: 8080
            initialDelaySeconds: 15
            periodSeconds: 20
          readinessProbe:
            httpGet:
              path: /ready
              port: 8080
            initialDelaySeconds: 5
            periodSeconds: 10
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            capabilities:
              drop: ["ALL"]
          envFrom:
            - secretRef:
                name: my-app-secret   # pull credentials from Secret, not ConfigMap

最小限の RBAC(最小権限)

apiVersion: v1
kind: ServiceAccount
metadata:
  name: my-app-sa
  namespace: my-namespace
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: my-app-role
  namespace: my-namespace
rules:
  - apiGroups: [""]
    resources: ["configmaps"]
    verbs: ["get", "list"]   # grant only what is needed
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: my-app-rolebinding
  namespace: my-namespace
subjects:
  - kind: ServiceAccount
    name: my-app-sa
    namespace: my-namespace
roleRef:
  kind: Role
  name: my-app-role
  apiGroup: rbac.authorization.k8s.io

NetworkPolicy(デフォルト拒否 + 明示的な許可)

# デフォルトではすべてのイングレスとエグレスを拒否
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny-all
  namespace: my-namespace
spec:
  podSelector: {}
  policyTypes: ["Ingress", "Egress"]
---
# 特定のトラフィックのみを許可
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-my-app
  namespace: my-namespace
spec:
  podSelector:
    matchLabels:
      app: my-app
  policyTypes: ["Ingress"]
  ingress:
    - from:
        - podSelector:
            matchLabels:
              app: frontend
      ports:
        - protocol: TCP
          port: 8080

検証コマンド

デプロイ後、健全性とセキュリティ体勢を確認します:

# ロールアウトの完了を監視
kubectl rollout status deployment/my-app -n my-namespace

# Pod イベントをストリーム配信してクラッシュループやイメージプル エラーをキャッチ
kubectl get pods -n my-namespace -w

# 特定の Pod を検査して障害を確認
kubectl describe pod <pod-name> -n my-namespace

# コンテナログを確認
kubectl logs <pod-name> -n my-namespace --previous   # use --previous for crashed containers

# リソース使用状況を制限と照らし合わせて検証
kubectl top pods -n my-namespace

# サービスアカウントの RBAC パーミッションを監査
kubectl auth can-i --list --as=system:serviceaccount:my-namespace:my-app-sa

# 失敗したデプロイをロールバック
kubectl rollout undo deployment/my-app -n my-namespace

出力テンプレート

Kubernetes リソースを実装する場合は、以下を提供します:

  1. 適切な構造を備えた完全な YAML マニフェスト
  2. 必要に応じて RBAC 設定(ServiceAccount、Role、RoleBinding)
  3. ネットワーク分離用の NetworkPolicy
  4. 設計上の決定とセキュリティに関する考慮事項の簡潔な説明

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
lehieu2909
リポジトリ
lehieu2909/SCA_THESIS
ライセンス
MIT
最終更新
2026/5/11

Source: https://github.com/lehieu2909/SCA_THESIS / ライセンス: MIT

関連スキル

汎用DevOps・インフラ⭐ リポ 502

superpowers-streamer-cli

SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。

by rohanarun
汎用DevOps・インフラ⭐ リポ 493

catc-client-ops

Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。

by automateyournetwork
汎用DevOps・インフラ⭐ リポ 39,967

ci-cd-and-automation

CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。

by addyosmani
汎用DevOps・インフラ⭐ リポ 39,967

shipping-and-launch

本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。

by addyosmani
OpenAIDevOps・インフラ⭐ リポ 38,974

linear-release-setup

Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。

by novuhq
Anthropic ClaudeDevOps・インフラ⭐ リポ 2,159

tracking-application-response-times

API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。

by jeremylongshore
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: lehieu2909 · lehieu2909/SCA_THESIS · ライセンス: MIT