Kubernetes入門
Docker入門 関連記事 Kubernetesのクラスタの全体像 Kubernetesのクラスタの構成要素 Kubernetesのコントロールプレーンについて コントロールプレーンの障害対応 コントロールプレーンの障害対応 ノードのコンポーネント ワーカーノードの障害体制 Docker入…
プリエンプト可能なノード(またはスポットインスタンス)とは何か? スポットインスタンスは、AWSの未使用のコンピューティング容量(スポットキャパシティ)を利用して低価格でインスタンスを起動することができる特殊なインスタンスタイプです。 低価格:…
kubernetesにおいて、Labelとは、Podなどのオブジェクトに付加されるキーとバリューのセットの事です。 (要はpythonでいう辞書型、ほかの言語だと連想配列のこと) このLabelはKubernetes側から参照することはありませんが、ユーザーがPodを識別するコマン…
バックアップ体制 Kubernetesは宣言的なIaCです。 これに乗っ取れば、すべてのKuberentesリソースを記述するデータは、kubernetesが保有するデータベースetcdに保存されます。 このetcdを絶対的に正とする運用により、Kubernetes内の一部のDeploymentsをあな…
セキュリティスキャン クラスタのPod内部の脆弱性は、たとえあなたが作成したコンテナイメージであっても常に発生しうるものになってます。 例えば、Wordpressのフレームワークを使用しているコンテナはWordpressそのものに脆弱性が含まれるため、常に攻撃の…
Kubernetesにおけるセキュリティ、アクセス制御の仕組みについて解説します。 アクセス制御はなぜ必要なのか? スタートアップ企業や、エンジニアリング組織の立ち上げ期では、数名の社員から始まることが多く、権限管理についても比較的緩やかな管理になりま…
[contents:] コンテナのセキュリティとは、攻撃者がコンテナ内部に侵入しても問題ない状態を作り上げておかなければなりません。 プログラムには脆弱性が付きまといます。 これを任意の権限をもつユーザー(rootユーザー)が悪用できる状況になった場合、最…
[contents:] コンテナのセキュリティ コンテナのセキュリティとは、攻撃者がコンテナ内部に侵入しても問題ない状態を作り上げておかなければなりません。 プログラムには脆弱性が付きまといます。 これを任意の権限をもつユーザー(rootユーザー)が悪用でき…
kubernetesのリソースマニフェストは自動生成できる kubectlを使用してYAMLマニュフェストを生成することで、リソースマニュフェストを0から書く心配はなくなります。 コマンドは--dry-runオプションと-o yamlオプションをkubectl createコマンドにつけるだ…
KubernetesのPodとコンテナの違いは何か? Podオブジェクトとは単一のコンテナまたはコンテナのグループを表し、Kubernetesで何を実行する場合でもPodを使用して実行されます。 別の言葉を使えば、Podとは同じ実行環境上で動くアプリケーションコンテナとスト…
kubectlでコンテナ内部に入る方法 kubernetesではコンテナの内部に入り、linuxコマンドを打てる環境を用意してくれます。より正確にいうと、コンテナに対してssh接続しているかのようにシェルを起動できるのです。 ローカルマシン上でPodを動かしていて、動…
コンテナの内部で起こるエラーは、通常のLinux,Windowsサーバー内のログを確認する作業比べて, 何が起こっているかを把握することが難しくなります。 Kubernetesでは、kubectlコマンドを使用することで、より効果的な使用方法が見つかるでしょう。 logsコマ…
kubernetesのgetコマンド詳細 kubectl getコマンドはリソースの情報を表示することが出来ます。 kubectl get pods kubectl get pods NAME READY STATUS RESTARTS AGE hello-world 0/1 Completed 0 16d nginx-deployment-7c6b5bc4c7-6fh9m 1/1 Running 3 (158…
kubernetesのコマンドは長くなりがちですが、実は省略形も存在します。 今回はリソースタイプの省略形、自動補完機能、フラグの省略形をお伝えします。 リソースタイプの省略形 kubectlコマンドでよく使われるのは、リソース名(Pod, Deployment, Service, Na…
クラスタの作成当初に必要なキャパシティを推定する方法は、同じアプリケーションを実行するために必要な台数を数えることです。 例えば、5つのクラウドインスタンスで実行しているのであれば、Kubernetesクラスタで同じワークロードを実行する場合には5つ以…
KubernetesのNamespaceリソースとは何か? 一台のマシンに複数の環境を構築する場合、どのようにリソースを分配すれば良いのでしょうか? クラスター単位でリソースの使用状況を管理するためにはNamespaceの使用が有効です。 例えば、以下のように環境ごとにna…
Kubernetesでのヘルスチェック方法 Kubernetesではコンテナのスペック管理の一部として、Liveness Probe(ライブネスプローブ)を利用できます。 言い換えればヘルスチェックが利用可能です。 Liveness は動作の確認。 Prove は証明という意味です。 HTTPサー…
リソースの管理 Kubernetesの各PodのCPU使用量はCPU単位であらわされます。 これは各クラウドベンダーのCPU単位に相当します。つまり、Kuberentesの1Podは AWSのvCPU GCPの1Core AzureのvCore などであらわされます。 しかし、Kubernetesの1つのPodが一つのC…
Serviceリソース Serviceリソースは単一の変化しないIPアドレス、またはDNSを付与することができ、任意の対応するPodへ自動的にルーティングさせることが出来ます。 ServiceはWebプロキシやロードバランサのようなものと考えることができ、バックエンドであ…
ReplicaSetとは ユーザーはReplicaSetを理解している必要はなく、Deploymentの挙動を把握している必要があります。 ですが、ReplicaSetの挙動を把握しておくことは実運用上のトラブルシューティングなどで役に立つことがあります。 ReplicaSetの仕事は、Depl…
Kubernetesのクラウド選定(Google vs Microsoft vs Amazon) ベンダロックインは発生しない kubernetesはクラウドプラットフォームの技術的な詳細を抽象化して隠してくれます。 つまり、AzureやGCPなどのプラットフォームで実行しているサーバーは、別のクラ…
kubernetesはオンプレか?クラウドか? kubernetesをオンプレミス環境に構築するメリット kubernetesの環境を準備する際に、最もベーシックとなる方法はオンプレミス環境への構築です。 (またの名をセルフホスティングといいます。) これはkubernetesのソフ…
Podとは Podとは、一つ以上のコンテナのグループを表すKubernetesオブジェクトのことです。 Podはクジラの小さい群れを表す言葉であり、派生してKubernetesのPodはコンテナのグループを表しています。 Podを作成してみる 以下helloworldコンテナの作成。 kub…
Deployment Kubernetesではスーパバイス(監視、監督)する必要がある個々のプログラムに対して、Deploymentオブジェクトが作成されます。 Deploymentオブジェクトは以下の情報から構成されます。 コンテナイメージ名 実行したいレプリカの数 その他コンテナ…
Docker入門 関連記事 Kubernetesのクラスタの全体像 Kubernetesのクラスタの構成要素 Kubernetesのコントロールプレーンについて コントロールプレーンの障害対応 コントロールプレーンの障害対応 ノードのコンポーネント ワーカーノードの障害体制 Docker入…