Kubernetes

Docker for Macに同梱のKubernetesを使う(minikubeの代替?)

Docker for MacにKubernetesが同梱されるようになったことはなんとなく知っていたが、どのように使うのかは分かっていなかったので試してみた。 現時点でのDocker for MacのバージョンはVersion 18.06.0-ce-mac70 (26399)。 Preferenceをみると、Kubernetes…

Freshpod - ImageがビルドされたらPodを再起動する

開発時のワークフローを改善するという意味ですごいいい。 github.com

headless serviceを使ってVIPを使わずに各podのIPに直接アクセスする

kubernetesはserviceの仕組みの中でVIPを使って背後の複数podへのルーティングを管理していて、多くのケースではよしなにやってくれるので便利なのだが、以前Nettyを使ってservice間のコネクションを管理していて、背後にある複数podへの接続が偏る問題に悩…

Macでポートフォワード

今回のケースでいうと、Kubernetes内のPodにローカルからJMXにつないでjvisualvmを使ってチューニングすることが多かったのだが、下記の記事でやったように127.0.0.1のホスト指定が使えないケースが出てきてしまった。 road288.hatenablog.com -Djava.rmi.se…

[Kubernetes][JMX] Kubetenetesで動作するコンテナにjmxで接続する

stackoverflow.com 基本的にはここの通り。 Kubernetesの中で動くPodにJMXでつないで様子をみたいときがある。 そういうときは、まずPod名を調べて、kubectlコマンドでポートフォーワードして、jvisualvmなどのコマンドを使えばOK。 例えばJMXが7000番ポート…

Terminatingのまま消えてくれないPodを強制的に削除する

podがいくら待っても消えてくれないとき。 stackoverflow.com --force --grace-period=0をつける。 例: ᐅ kubectl get pods NAME READY STATUS RESTARTS AGE foo-deployment-2799137922-7xc7r 2/2 Running 0 27d bar-deployment-2705092949-mmkf1 3/3 Termi…

cloud_sql_proxyのsidecar containerを立てる

GCPのCloud SQLへのつなぎ方にはいくつか方法があるが、Kubernetes内にあるpodから接続するにはアプリのコンテナと同一pod内にcloud_sql_proxyのコンテナを立ててつなぐ方法で設定した。 github.com 基本的にはここにあるテンプレートどおりやっていけば問題…

コンテナの内部からpodやdeploymentの名前にアクセスする

kubernetes.io ここにある通りでできる。 pod名の取得を試してみた。 こんな感じで追加 ᐅ kubectl edit deploy foo-deployment deployment "foo-deployment" edited - name: MY_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name 本来元のyamlを直し…

Kubernetesのcurrent-contextをzshで表示する

複数のGKEクラスタを切り替えて使っていると(特に開発・ステージング・本番など)、いま使っているcontextを混同してしまいがちで、ステージング環境で開発向けのコマンドを打ってしまったりとかしたのでzshのプロンプトに環境をわかりやすく出すようにした…

Kubectlにcontextを追加する

CUIでやろうとしたが方法が見つからず。ウェブコンソールでURLを表示してそれを叩くだけだった。