かべぎわブログ

ブログです

Kubernetes

コマンド一発でCronJobをSuspendする

KubernetesのCronJobをSuspendしたい。 それを自動化したいのでマニフェストファイルいじってapplyして~みたいなことはあんまりやりたくない。 コマンド一発でやる方法です。 以下のとおりやればOK kubectl patch cronjob CronJob名 -p '{ "spec": { "suspe…

VagrantのUbuntu20にminikubeをインストールするまで

なんかこんな記事ばっかり書いているような気がするけれど動かしてから云々は仕事用のwikiに書いているのです。 Vagrant Vagrantfileはこんなかんじ。 Vagrant.configure("2") do |config| config.vm.box = "bento/ubuntu-20.04" config.vm.provider "virtua…

istio-proxyがinjectされちゃうせいでjobが終わらない

概要 タイトルのとおり。 istio-proxyがauto-injectされちゃうような構成というかサイドカー構成だと、JobやCronJobを実行したとき、いつまでたってもCompletedにならなかったりする。 $ kubectl get pods NAME READY STATUS RESTARTS AGE hello-1598853420-…

Podの中のコンテナの名前を表示してくれるシェルスクリプト

かきました。 実行するとこう $ ./get_containers.sh -n istio-system --- istio-ingressgateway-5d959cb111-5rqbx istio-proxy --- istiod-74c6d9c222-gpphl discovery --- prometheus-5647688333-kqxq8 prometheus istio-proxy

Podの中でなんのコンテナが動いているか表示してくれるワンライナー

コンテナ名わすれがちなので kubectl describe pods ポッド名 | sed -n '/^Containers:/,$p' | grep -B 1 'Container ID:' | grep -v 'Container ID:' | grep -v "\-\-" | sed -e 's/://'

k8s Service Ingress メモ

Service L4ロードバランス Podのサービスディスカバリ クラスタ内DNSでの名前解決 Ingress L7ロードバランス TLS終端 PATHベースルーティング

kubectl exec でリダイレクトがつかいたい

こんなかんじ echo 'wawawa' | kubectl exec -i ポッド名 -- /bin/sh -c '/bin/cat > /user/kabegiwa/wawawa.txt'

全Podを削除するシェルスクリプト

こんなかんじ。 #!/bin/bash pods=`kubectl get pods "-o=jsonpath={.items[*].metadata.name}"` for pod in ${pods}; do kubectl delete pods ${pod} done

全Podにコマンドを実行するシェルスクリプト

こんなかんじ。 #!/bin/bash pods=`kubectl get pods "-o=jsonpath={.items[*].metadata.name}"` for pod in ${pods}; do kubectl exec ${pod} なんかてきとーなコマンド done

Istio Ingress GatewayでTLS終端させる

こんなかんじ。 apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: gateway spec: selector: istio: ingressgateway servers: - port: number: 443 name: https protocol: HTTPS tls: mode: SIMPLE credentialName: wawawa-credentia…

Istioをインストールする

Istioをインストールしてみます。 curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.5.0 sh - cd istio-1.5.0 export PATH=$PWD/bin:$PATH できました。 $ istioctl version 1.5.0 進化的アーキテクチャ ―絶え間ない変化を支える作者:Neal Ford,Re…

Kubernetesのpodのラベルでフィルタリングする

概要 KubernetesのPodのラベルでフィルタリングして条件に一致するリソースのみ出力してみたいと思います。 準備 こんなかんじでpodをつくってます。 label-test.yaml --- apiVersion: v1 kind: Pod metadata: name: sample-label labels: label1: wawawa la…

Ubuntu18にMinikubeをインストールする

概要 Ubuntu18にMinikubeをインストールしてみます。 インストール手順 手順です。 システムを最新バージョンに更新する sudo apt-get update -y sudo apt-get upgrade -y インストールに必要なパッケージのインストール sudo apt-get install curl wget apt…

Kubernetesでクラスタを切り替える

概要 Kubernetes クラスタを切り替えます。 こうやる 手順です。 クラスタ一覧を取得 $ kubectl config get-clusters NAME test.ap-northeast-1.eksctl.io wawawa.ap-northeast-1.eksctl.io 現在のクラスタを確認する $ kubectl config current-context kabe…

EKSクラスタを作成してpodをたてるまで

概要 EKSクラスタを作成してpodをつくるまでのメモです。 手順 手順です。 EKSクラスタの作成 こんなかんじ podはひとつだけ 作成に10分くらいかかる $ eksctl create cluster --name test --nodes 1 kubectlで使えるようにconfigに追記させる。 $ eksctl ut…