hisamounaのブログ

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

Go

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についても気になっているので近々触れてみたいと考えています。 この記事で…

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"…

SpreadSheetでチェックリストを使う (golang)

Go

サンプルコード コード 事前にやること SpreadSheetのリンクを知っている人全員が編集できるようにする。 SpreadSheetID,SheetIDを取得 https://docs.google.com/spreadsheets/d/${SpreadSheetID}/edit#gid=${SheetID} 実行 Range: &sheets.GridRange{ Start…

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…

gRPC-GatewayのtutorialsをDockerでやってみる

Go

はじめに gRPC-Gatewayのtutorialsをコンテナで動かして疎通できるようにしたいと考えています。 作業リポジトリ: grpc-gateway-tutorial tutorialsをもとにserverとgatewayでエントリーポイントを分離 serverのmain.go func main() { lis, err := net.Liste…