Photo by CHUTTERSNAP
Kubernetes
APIリクエストデータの調べ方 kubernetesを操作する具体的なAPIを調べるには、kubectlで操作してみて対応するリクエストデータを見る方法が便利です。kubernetsを操作する …
Google Kubernetes Engineを用いてWebサービスを公開している場合、DNS設定する外部IPを同一のアドレスに固定する必要があります。
kubernetesのデフォルト挙動では、外 …
kubernetsの実行環境はnode(ノード)と呼ばれます。実機サーバーの場合もありますし、Google Kubernetes EngineのようにVMインスタンスの場合もあります。
複数のノード・ …
kubernetesのインフラ運用の楽な点は、dockerコンテナとサーバーを切り分けて運用できる点です。
dockerのイメージが完成していれば、サーバーのクラスタを指定して起動するだけです。
ハー …
kubernetesのデフォルト挙動では、podが取得するリモートIPがクラスターネットワークのIPになっています。
そのため、httpサーバーのログにも、10.0.0.1などのプライベートIPアクセ …
実行中のコンテナ内にあるファイルをホストとの間でコピー転送するには、kubectl|docker container cpを使えます。
config類のベースファイルや実行ログを取得する場合などに便利 …
dockerのコンテナの時刻をUTCからJST(日本標準時)に変更するには、環境変数TZにAsia/Tokyoを指定します。
コマンドライン指定するケースでは、
$ docker run -e …
Kubernetes環境で動作するPod(コンテナ)を定期的に再起動するソリューションです。
このシステムは以下のような流れで動作します。
コンテナ上で動作するcronでメインプロセスをkill …
k8sでクライアントのグローバルIPを取得する ため、LoadBalancerの設定にservice.beta.kubernetes.io/external-traffic: OnlyLocalをア …
kubernetesのコンテナの動作はControllerというレイヤで管理します。dockerインスタンスなどの個別のコンテナはPodという単位ですが、kubernetesはクラスタリング・ツールな …
Google Kubernetes Engine(GKE)はKubernetesのマネージドサービスで、マスターノードがホストされています。また、Webの管理コンソールからバージョンを選択するだけでア …
dockerやk8sのコンテナ運用をしていると、諸般の事情でイメージ更新後にコンテナが起動しないケースに遭遇します。
原因を追求しようにも、コンテナが死んでしまうので追跡できない……という状況で、コマ …
DaemonSetは全ノード(物理マシン)にPodを配置していくコントローラーです。たとえば、2ノード構成時、DeploymentでPod数2を指定した場合、片方のマシンで2Pod起動することがありま …
コンテナイメージのレジストリの1サービスに Google Container Registry(GCR)があり、非公開のプライベートレジストリをホストできます。
GKE(Google …
kubernetesをローカル開発環境に構築する場合、minikubeが比較的手軽です。
MacOSでは、Dockerと同様、Linux実行環境としてhyperkitを選択でき、VMより透過的でレスポ …
ホストディレクトリのmount MacOSなどのホストディレクトリにコンテナからアクセスするには、起動時の--mountオプションが手軽です。
$ minikube start --mount …
k3s や Rancher Desktop などのローカルkubernetesクラスタ上で、プライベートレジストリのコンテナイメージを起動させるためには、イメージpull時の認証設定が必要です。
認 …
minikube上のサービスにホストからアクセスするには、まずポートをnode(実機、ここではminikube VM)に割り当てる設定が必要です。
nginxのhttps / http のポートを …
kubernetesのServiceは内部ネットワークの名前解決機能を提供しています。Serviceのnameに設定に設定した名前はホスト名として機能し、各コンテナからその名前でアクセスできます。 …
kubernetesには、podの稼働を制御するコントローラーの機能があり、DeploymentやDaemonsetといったコントローラーが主に知られています。Jobもコントローラーの一種で、バッチ処 …
Kubernetesのコンテナ上でコマンド実行するためにはkubectl execを使えます。
## kubectl exec `ssh`不要でコンテナ操作可能 * コンテナ内でコマンドを実行できる …
kubernetesの機能は、kube-systemネームスペース内のコンテナとして稼動しています。通常、kube-systemのシステムpodは直接操作することはなく、自動運用です。 …
LL言語のWebアプリケーションなど、サーバー起動前にソースリポジトリをセットアップしておきたいケースがあります。
更新を考慮して、コンテナ作成段階でgit cloneを実行したい場合、以下のように …
コンテナは起動時の変更を保持しませんが、k8sのVolume機能を利用するとホストのストレージをmountできます。 公式リファレンス にサポートしているVolumeのリストがありますが、AWSの …
kubectl get podなど、kubectlコマンドの操作対象に指定するリソースには省略形があります。pod の場合は po です。
リソース名は長いものが多く、省略形を覚えておくとオペレーショ …
Tekton は、kubernetesクラスタ上で動作するCI/CDツールです。2019年のv0.1公開から数年のWIP期間を経て、2025年5月にv1.0GAを宣言しました。
コンテナにスクリプト …
Tekton Triggers は、Tekton Pipelinesにwebhookを追加する機能です。POSTリクエストからタスクを起動します。
CronJob からwebhookを呼ぶことで定時 …
TektonのPipelineは、Taskの集合体です。
spec.tasksにTaskの配列を定義するのですが、とくに指定しない限り並列に実行されます。
runAfter runAfterは先行タス …
Tekton Triggers はWebリクエストからビルドパラメータを抽出し、Pipelineを起動する機能を提供しています。
EventListenerがHTTPリクエストを待ち受け …
kubernetesのノードセレクタを利用すると、特定のノードにPodをデプロイできます。
以下のようにnodeSelectorを記述した場合、stageラベルにdevelopmentを指定したノード …
タグ操作 GKEで利用するイメージは一般的にタグを持ちます。ビルド時に省略した場合にはlatestが付いているケースが多いでしょう。
ビルドごとにlatestが指すイメージが変わり、旧latestはタ …
kubernetesの Secret は、クレデンシャル類をコンテナイメージなどから分離して供給するための標準機能です。
よく知られている通りSecretは暗号化されてはいないため、権限があれば内容は …
KubernetesのCPU/メモリ要求はContainerSpecのresourcesで指定できます。
resourcesの指定方法により、Guaranteed, Burstable, …
Tektonのタスクは個別のPodに分かれており、タスク間のテキストデータ受け渡しには Results を利用します。
Resultsの出力 ResultsはTaskでリソース宣言します …
Kubernetesのノード障害は、機器故障のほかリソース超過によるものが多く発生します。
ワークロードマネージャにはプリエンプティブにコンテナ用リソースを管理してハード資源を使い切って欲しいのですが …
Rancher Desktop は k3s を核とするオープンソースのkubernetesディストリビューションです。Docker Desktopと似たような機能をcontainerdベースで提供し …
kubernetesのコンテナイメージはOCI標準と互換性があります。
Dockerにはイメージビルドツールが付属していますが、kubernetesの場合には、 buildkit などを利用します。 …
k3s can create a compact kubernetes cluster for development.
With extra tweaks, you can access its …
Tekton Pipelines はk8sコンテナ上で動作するCIワークフローであるため、データは揮発します。
順序については Tekton Pipelinesの制御フロー で解説していますが、コン …
kubernetesのhostPathボリュームは、クラスタノードのディレクトリをコンテナにマウントする機能です。
k3s など開発環境のローカルクラスタで、コンテナ内からワーキングディレクトリにアク …
fluentbit はコンパクトなログ加工・配信エージェントです。入力・出力のプラグインを切り替えることで多様な構成に対応できます。
k8sノードからコンテナログ収集する構成 fluentbitは多 …
bashはログイン時に~/.bashrcなどのスタートアップスクリプトを実行します。 tekton も$BASH_ENVを用いてステップ実行時にスタートアップスクリプトを実行できます。 …
buildahは、kubernetesなどのコンテナイメージをビルドするツールで、Dockerとは独立した実装です。
Debian系ディストリビューションには同名のパッケージがあり、apt …