kubernetes
KubernetesでPodに指定したServiceAccountを削除したいときにはまったのでメモ たとえばこんな感じでPodにServiceAccountを付与したとき apiVersion: apps/v1 kind: Deployment metadata: namespace: default spec: replicas: 2 selector: matchLabels: app:…
Kubernetesの完了済みJobリソースをまとめて削除するには、field-selectorに"status.successful=1"を指定することで削除できます。 kubectl delete jobs --field-selector status.successful=1 field-selector に指定できるフィールドはリソース毎に定義され…
GKEにはリージョンクラスタという設定があり、この設定を追加すると、リージョン内の複数のゾーンにノードを複製し、可用性を高めることが出来ます Regional clusters | Kubernetes Engine Documentation | Google Cloud 可用性を高める必要があり、インフラ…
GAEで稼働していたアプリをGKE用に移植したので、そのときやったことを自分用にまとめておく まずベースコンテナを作る まずはRailsアプリを動作するためのコンテナを作成します。ベースとなるコンテナにアプリケーションをコピーすればアプリが動作するよう…
運用しているGKE上にコンテナ化されていないRailsアプリをデプロイすることになり、コンテナ化を進めていたときに気づいた話。 デプロイしたいアプリはRailsアプリはGAE上で動いていて、GAEで動作するときにどうもコンテナ化されているらしい。 そこでたどり…
GKE環境でスティッキーセッションを利用するときの方法です。WebSocketなど利用していて、ブラウザからPodと接続を確立したあとはそのPodと通信し続けたい場合に必要になると思います。 k8s環境でスティッキーセッションってそもそもできるのか?と最初不安…
secretsといってもbase64encodeされているだけなので、簡単にコピーできます。 kubectl get secrets -o yaml > current_secrets.yaml で取り出して kubectl apply -f current_secrets.yaml でok。 このときTYPE:kubernetes.io/service-account-tokenなど、お…
kubectl にはその機能がなかったのでfindしてxargsする find . -name "*.yaml"|xargs -I {} kubectl apply -f {}
kubernetesを利用しているとき、 kubectl exec -it "pod_name" /bin/bash で目的のコンテナにbashログインすることができますが、これがなぜ動いているのか理解できていなったので調べてみました。 kubectl execとsshと何が違うのか?(sshと同じセキュリテ…
出来ないことはないだろうと思って調べてみたら方法はあった。 環境変数とか一部設定を変えてすぐ動作確認したいときに便利です。 kubectl create job <job-name> --from=cronjob/<cronjob-name> 関連Issueはこれ。 https://github.com/kubernetes/kubernetes/issues/47538</cronjob-name></job-name>