hisamounaのブログ

アウトプットを習慣化するためのブログ

Kubernetes

cluster autoscalerがNodeGroup情報をキャッシュしていないか、コードを読んで確認

前提条件 クラスタ : EKS(v1.21.1) NodeGroup : ASG なぜ、キャッシュしているのではという仮定にいたったのか 特定条件の時、ASGがスケールアウトしない ASGの起動台数が0の時、ephemeral-storageをrequestsで要求しているpodのためにcluster autoscalerがA…

cluster-autoscalerのコードを読む (ASG一覧をどうやって取得しているか)

EKSでcluster-autoscalerを利用してASGをスケールさせているのですが、詳しい挙動を把握していなかったので調べてみました。EKSなので、今回はAWS環境に特化しています。 Karpenterについても気になっているので近々触れてみたいと考えています。 この記事で…

argo-rolloutsのPromoteについて調べる

argocdのGUI上でargo-rolloutsリソースに対してできるオペレーションに、 PROMOTEやPROMOTE-FULLがありますが、 ドキュメントをざっと調べた限り、詳細な挙動が分からなかったのでコードを見てみました。 画面のサンプル 利用できない操作は半透明にして非活…

Rolloutsリソースに対してPatchを当てる

困ったこと Rolloutリソースのspec.containersのfieldsに対してpatchを当てたところ完全に書き換えられてしまった。 期待の出力 nginxイメージのtagが1.21 -> 1.18に書き換わってほしい。それ以外はそのままに。 $ kustomize build example/ apiVersion: arg…

node上のpod一覧を表示する画面を作成する ~ (1) Goでサーバを構築 ~

はじめに フロントエンドの勉強をしてみたくなったので、Reactを触ってみました。 以前作ったGoのコードをベースにサーバーを構築し、ReactからAPIリクエストでnodeの情報を取得しブラウザ上で表示するようにしていきます。 hisamouna.hatenablog.com 本記事…

client-goを使って、node上のpod一覧を表示する

環境 kindを使ってローカル上(Mac)にバージョン: v1.21.0のk8sクラスタを用意 クライアント作成 import ( "context" "fmt" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/util/homedir" corev1 "k8s.io/api/core/v1"…

etcd (ローカルでPUT,GETする)

etcdをdokerで起動 Ref: Run etcd clusters inside containers └─> export NODE1=192.168.1.21 └─> docker volume create --name etcd-data etcd-data └─> export DATA_DIR="etcd-data" └─> REGISTRY=gcr.io/etcd-development/etcd └─> docker run \ -p 2379…

kindでArgo Rolloutを試す

kindでクラスタ構築 └─> kind version kind v0.6.1 go1.13.4 darwin/amd64 └─> kind create cluster --name kinda --image kindest/node:v1.18.15 --kubeconfig $HOME/.kube/kind_config Creating cluster "kinda" ... . . . Thanks for using kind! 毎回--…