kubernetes
やったこと v1.26からv.29にアップデート 確認 ubuntu04,05がコントロールプレーンでubuntu01,02がワーカーノード ❯ kubectl get node -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ubuntu01 …
環境 Kubernetes 1.27 ArgoCD 2.7 私はk8sのデプロイにargocdを使用しており、今回2.7がリリースされたのでアップデートしてみました。しかし、アップデートの際にエラーが発生してしまったため、修正方法をメモしておきました。 エラー内容 Argocd 2.7がリ…
環境 Kubernetes 1.26 やりたいこと GROWIの最大の特徴は、マークダウン記法でかけることだ。これにより、シンプルで見やすい文書を簡単に作成できる。 さて、今回の本題は、GROWIをKubernetesにデプロイする方法だ。Kubernetesは、複数のコンテナを管理する…
やりたいこと Kubernetesを使っていて、stagingやproductionのような環境を切り替えるとき、またはnamespaceを確認するときに、いつも確認するのが本当にダルいと感じていた。 ターミナルで毎回確認するのも面倒だったので、ずっと表示されていてほしかった…
環境 kubernetes 1.26 やりたいこと kubeadmで構築した自宅k8s環境にモニタリングを入れたい podリソースとか監視とかしたい 調べた感じkube-prometheus-stackがいいっぽい PrometheusとGrafanaとか一括でインストールしてくれる やり方 まずはnamespace作成…
k8sリソースの種類多すぎ問題 紛らわしいService、Gateway、VirtualServiceについてそれぞれメモ Service Serviceは、Kubernetesクラスタ内のマイクロサービス間の通信を制御するために使用されるリソースです。Serviceは、1つ以上のPodをグループ化し、グル…
オレオレコマンドセット 「hogehoge」を任意のレポジトリ名に変更すること k create ns hogehoge k create secret generic my-secret --from-env-file=.env argocd app create hogehoge --repo https://github.com/thr3a/kubernetes-manifests.git \ --dest-…
環境 Kubernetes 1.24 Argocd v2.4 ArgoCDのsync遅すぎ問題 よく記事に「ArgoCDは自動でgitをsyncしてくれるので自動で反映してくれる」みたいなこと書いてあるけどデフォルトの設定ではやってくれない。 しかもauto-syncを有効にしてもデフォルトでは「3分…
環境 Kubernetes 1.24 やりたいこと Kubernetes上に作成したCronjobが正常に動くか手動でテストしたい やり方 例えば元のCronjobがlog_rotateで、即時実行の名前をonetimeとすると kubectl create job onetime --from=cronjob/log_rotate で実行される。 実…
環境 Kubernetes 1.24 シークレットが当たり前過ぎて全然記事がなかったのでまとめ 追加方法 まずは秘匿情報が書かれたキーとバリューの組み合わせが書かれたファイルを用意する NAME=taro PASSWORD=12345 kubectl create secret generic 構文でシークレット…
環境 Kubernetes 1.24 やりたいこと kubeadmでKubernetesのクラスタを生成すると1台目のノードがマスターノードとなる。つまりcontrol-planeは1台構成 一般的には2台以上が推奨なのでもう1台増やしてみる 手順 まずはkubeadmコマンドでcontrol-plane証明…
マスターノード ≠ コントロールプレーン Kubernetesのクラスタにおいてクラスタ管理のみに徹する役割をコントロールプレーンという。てっきり言葉遊びでマスターノードとコントロールプレーンは同じ意味だと思っていたが全く違った。 正確にはマスターノード…
環境 M1 Macbook minikube v1.26.1 lima 0.11.3 やりたいこと 使い捨てのKubernetes環境が欲しく、ローカルにKubernetesをインストールしようとした。 本番環境ならkubeadm一択なんだろうけど、サクッと構築するだけなら1台で完結するクラスタがいいなと思…
環境 Kubernetes v1.24 やること MySQLサーバーをKubernetesで構築しようと思ったとき、練習用なら自分でYAML書いてデプロイ出来るが、永続化とかレプリケーションまで考えるとちょっと面倒すぎる。 そもそもKubernetesでMySQLのデプロイが向いているのかは…
環境 Kubernetes 1.24 Calico v3.21.6 PodのIP範囲変えるの面倒くさい説 PodのIP範囲とはいわゆる --cluster-cidr を指す。PodのIPが足りなくなってきたので急遽既存のクラスタの cluster-cidrを変更することにした。 変更自体はマスターノードの /etc/kuber…
環境 Kubernetes 1.24 Kubernetesのデータ永続化にNFSを使ってみる。 github.com NFSサーバーの構築 Kubernetesクラスタ以外のサーバーにインストールすること sudo apt-get install -y nfs-kernel-server /etc/exports に以下追記 *は流石に不味いので 172.…
環境 Kubernetes 1.24 KubernetesのServiceリソースとは 難しい。公式ドキュメントだと Podの集合で実行されているアプリケーションをネットワークサービスとして公開する抽象的な方法 としか書かれていない。自分としては「複数のPodに共通のIPアドレス提供…
問題 なんかMySQL構築して、サービスリソース作ってCulsterIP振ってもアクセスできない問題が発生した 設定何も間違ってないんだが???と思ってふとnodeのイベントログ見てると「CIDRNotAvailable」の文字が沢山。。。 ❯ kubectl get events LAST SEEN TYP…
環境 Ubuntu 20.04 Kubernetes v1.24 Kubernetesの設定にミスった、istioがうまく動かなくなった。。。etc等で泣く泣く初期化するも、そもそも正常に初期化できておらず再インストール後もつまずくケースが多い。 実は 「kubeadm reset」だけだとうまく初期…
環境 Kubernetes 1.24 先にmetrics-serverをインストールして kubectl top node コマンドが使えるようにしておく必要がある(Dashboardはただのビューアーなので やりたいこと 自分のクラスタ上でダッシュボードを見てニヤニヤしたい github.com インストー…
前編 10回以上再インストールを余儀なくされた男のKubernetes構築手順 - 動かざることバグの如し nfs-subdir-external-provisionerkube thr3a.hatenablog.com metrics-server thr3a.hatenablog.com kubernetes-dashboard thr3a.hatenablog.com ArgoCD 一発で…
環境 Kubernetes 1.24 なぜ必要なのか kubernetes-dashboardをインストールするにあたってメトリクスを取る必要があるため kubectl top nodesコマンドが使えるようになりたい。 # kubectl top nodes error: Metrics API not available インストール方法 公式…
環境 Kubernetes 1.24 ArgoCDをistio経由でアクセスできるようにしたい LoadBalancerも悪くないけどIP1つ消費してしまうしせっかくならistioに統合させたかったのでメモ 手順 オレオレ証明書の準備 ArgoCDはhttps通信必須なのでSSL証明書が必要 今回はオレ…
https://github.com/thr3a/kubernetes-manifests/blob/master/httpbin1/README.md
環境 Kubernetes 1.24 やりたいこと たくさんノードがある中でコントロールプレーンとワーカーノードを分けたい 昔はコントロールプレーンのことマスターって言ってたらしい コントロールプレーンにさせたい 結局の所ラベルで管理してるだけなのでkubecrlで…
環境 Kubernetes 1.24 ArgoCDで何ができるとかは他の記事に腐るほど書いてあるので、ここではArgoCDの構築メモ インストール 公式サイトを見ましょう argo-cd.readthedocs.io kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githu…
環境 Kubernetes 1.24 mysql-operatorとは Kubernetes上でデータベースを動かすのは結構難しいらしく、独自のCRD実装したオペレーターでインストールすることが一般的っぽい。 そこでMySQL公式がMySQL Operatorを出しているのだが、2022年5月についにGAにな…
PersistentVolumeを作成したらエラーになる 公式チュートリアルでPersistentVolumeを使ったWordPressのデプロイをやっていたところ kubernetes.io いつまで経ってもPVCがPendingのまま。。。 kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STOR…
Kubernetesのnamespaceうつの面倒くさい問題 kubectl get pods -n hogehoge いちいち打ってられるかよ ってことでアプリで解決 kubectlのcontextとnamespace周りの操作をkubectxとkubensでちょっと楽する | DevelopersIOの記事見てたらkubectxとkubensってコ…
環境 Ubuntu 20.04 Kubernetes v1.24 MetalLB v0.13.3 インストール kubeadmでKubernetesインストールしてLoadBalancer使いたいからMetalLBもインストールするぞい kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.3/config/mani…