タグ

ブックマーク / qiita.com/tkusumi (6)

  • Kubernetes: conftest でマニフェストをテストする - Qiita

    この記事では conftest というツールを使って、Kubernetes のマニフェストをテストする方法を紹介します。conftest のバージョンは v0.11.0 で確認しています。 マニフェストのテスト 番環境向けの Kubernetes のマニフェストでは様々な点を考慮する必要があります。考慮する点は環境や組織ごとに違うと思いますが、例えば以下のようなものが挙げられます。 privileged の利用を禁止したい 新しい API Version を利用することを推奨する livenessProbe / readinessProbe の設定を推奨する resource request / limit の設定を推奨する この記事では conftest というツールを使って、これらのポリシーを定義し、マニフェストがそれを満たしているかテストする方法を紹介します。 なお、PodSecu

    Kubernetes: conftest でマニフェストをテストする - Qiita
  • Kubernetes Tips: kubectl でマニフェストの雛形を作る - Qiita

    kubectl run のドライラン(--dry-run)と yaml 表示(-o yaml)を組み合わせると生成されたマニフェストを標準出力に表示することができます。シェルの履歴等を使えば簡単に実行できるので、Kubernetesyaml のマニフェストを素早く作成したい場合に便利です。 # 若干ゴミ(creationTimestamp など)が残るで削除する apiVersion: extensions/v1beta1 kind: Deployment metadata: creationTimestamp: null labels: run: mydeploy name: mydeploy spec: replicas: 1 selector: matchLabels: run: mydeploy strategy: {} template: metadata: creatio

    Kubernetes Tips: kubectl でマニフェストの雛形を作る - Qiita
  • Kubernetes: アプリケーションのデバッグ方法 (kubectl exec など) - Qiita

    はじめに Kubernetes 上のアプリケーションに対して、curltcpdump など使い慣れたツールを使ってデバッグを行いたいと思う場合があるかと思います。kubectl exec を利用するとコンテナ内のコマンドを実行することができ、従来 ssh で行っていたデバッグに近いことが可能になります。一方、コンテナには必要最低限のものしか含めないことがベストプラクティスとなっているため、使いたいコマンドが含まれていないこともあるでしょう。 記事では、kubectl exec を主としたデバッグの方法と、コンテナに使いたいコマンドが含まれていない場合や kubectl exec が利用できない場合の対応方法などについて説明します。確認は Kubernetes v1.8 で行い、コンテナランタイムは Docker を前提としています。 kubectl exec を使ったデバッグ ku

    Kubernetes: アプリケーションのデバッグ方法 (kubectl exec など) - Qiita
  • Kubernetes: kubectl apply の動作 - Qiita

    kubectl apply はオブジェクトが存在しなければ作成し、存在すれば差分を反映してくれる便利なコマンドです。しかし差分の反映は単純な上書きではないので注意が必要です。この記事では Kubernetes Meetup Tokyo #5 で発表した内容をベースに kubectl apply の動作を整理してみました。Kubernetes v1.9.0 で確認をしています。 kubectl apply とは kubectl にはオブジェクトを操作する様々なサブコマンドが用意されています。apply 以外の create, replace などのサブコマンドは、現在のオブジェクトの状態を意識して操作をする必要があります。例えば kubectl create では存在する名前のオブジェクトを再度作ろうとするとエラーになりますし、kubectl replace では存在しないオブジェクトを上書

    Kubernetes: kubectl apply の動作 - Qiita
  • Kubernetes: 複数の Node を安全に停止する (kubectl drain + PodDisruptionBudget) - Qiita

    Kubernetes: 複数の Node を安全に停止する (kubectl drain + PodDisruptionBudget)kubernetes OS のアップデートやスケールダウンなどで複数の Node を安全に停止したい場合のメモです。この記事は Kubernetes 1.7.3 で確認した情報を元に記載しています。 TL;DR Node を停止するためにはkubectl drain コマンドを利用して停止準備を行います drain は Node を Pod のスケジュール対象から外し (unschedulable に設定) Node 上の Pod を退去させることで停止可能な状態にします しかし複数の Node を停止させる場合、アプリケーションの Pod が一つも動作していない状態 (ready な Pod が 0)がありえるので注意が必要です PodDisruption

    Kubernetes: 複数の Node を安全に停止する (kubectl drain + PodDisruptionBudget) - Qiita
  • Kubernetes: Deployment の仕組み - Qiita

    Deploymentはローリングアップデートやロールバックといったデプロイ管理の仕組みを提供するものです。 下記の図のようにDeploymentはReplicaSetを生成・管理し、ReplicaSetはPodを生成・管理します。 ReplicaSet(ReplicationControllerの後継)はPodTemplateと呼ばれるPodのテンプレートをもとに、Podを指定された数(レプリカ数)に調整・管理を行う仕組みです。Podがレプリカ数より足りない場合はPodを追加し、多い場合はをPodを削除します。この仕組みによってノードの障害やアプリケーションのクラッシュでPodが足りなくなった際も自動的にPodが追加され、セルフヒーリングが実現されています。 Deploymentはコンテナイメージのバージョンアップなどアップデートがあった場合、新しい仕様のReplicaSetを作成し、新旧

    Kubernetes: Deployment の仕組み - Qiita
  • 1