Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

kube-proxyのmodeをiptablesからipvsに変更する

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 前回(kubernetesにおけるPodへの負荷分散状況の確認(Service/Deployment経由))の記事でトラフィックの分散をkube-proxyが担っていることが分かりました。 なので今回さらに深堀りというこ…

kubernetesでstatic podを起動させる

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesでstatic podを起動させてみます。 なお、作業はこちらの記事で作成したkubernetesクラスター v1.26.00で実施します。 static podとは 通常のPod(コンテナ)は、yamlを適…

kubernetesにおけるPodへの負荷分散状況の確認(Service/Deployment経由)

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesでPod(コンテナ)へのアクセスってどのような分散がされるのか確認してみます。 具体的には、こんな環境で実施します。 環境構築 まず、以下の記事を参考に"Deployment1"…

kubectl topコマンドを実施する(metrics-serverの導入)

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetes環境でkubectl topコマンドを実施できるようにします。 なお、作業はこちらの記事で作成したkubernetesクラスター v1.26.00で実施します。 kubectl topとは kubectl top…

nginxコンテナ(Pod)のコンテンツ(index.html)をConfigMapで提供・更新する(kubernetes)

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、こちらの記事で作成したkubernetesクラスター v1.26.00で、 nginxコンテナ(Pod)のコンテンツファイル(index.html)をConfigMapを使って提供、またコンテンツファイルの更新をやって…

NGINX Ingress Controller + Ingressによるサービス公開(kubernetes v1.26)

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、こちらの記事で作成したkubernetesクラスター v1.26.00で、 NGINX Ingress ControllerとIngressを使って外部クライアントへのサービス公開をやってみます。 なお、サービス公開はI…

MetalLBとService(type:LoadBalancer)による外部クライアントへのサービス公開(kubernetes v1.26.00 on ubuntu22.04)

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、こちらの記事で作成したkubernetesクラスター v1.26.00で、 MetalLBとService(type:LoadBalancer)を使って外部クライアントへのサービス公開をやってみます。 なお、サービス公開…

Dual Stack環境のkubernetesにおけるServiceの挙動

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに Dual Stack環境のkubernetes(v1.26.0)におけるServiceの挙動(IPv4とIPv6のどっちが有効になるの?)に関するメモです。 なお、Dual Stack環境のkubernetesクラスターはこちらで構築したもの…

kubectlコマンドの補完やalias

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに kubectlコマンドの補完に関するメモです。 こちらを参考にしています。 Linuxのbashなどであればファイルパスなどtabキーで補完できますが、 同じようにkubectlも使えれば楽だよなぁってい…

DualStack(IPv4 & IPv6)のkubernetesクラスター構築(v1.26.00・ubuntu22.04)

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、Kubernetes v1.26.00のDual Stack(IPv4 & IPv6の両方使える)構築を行っていきます。 ※kubernetesでは、v1.16からDual Stackが利用可能となっている。 構築する環境 ・Clusterの構…

kubectlで"error: You must be logged in to the server (Unauthorized)"となって認証されない場合の復旧方法

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 kubernetesでerror: You must be logged in to the server (Unauthorized)となって認証が通らなくなった際の復旧に関するメモです。 はじめに 具体的には、以下のようになった場合です。 そのままで…

kubernetesクラスター(api-server)にREST API(curlなど)でアクセスする

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 今回はkubernetesクラスターのapi-serverにREST API(curlなど)でアクセスしてみます。 はじめに kubernetesクラスターにおけるアクセスの認証では、通常configファイル($HOME/.kube/configなどにあ…

CLOUD NATIVE TRAIL MAPを読み解く!

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、CNCFが考える クラウド ネイティブへの移行を開始する企業向けの概要 である CLOUD NATIVE TRAIL MAP を読み解いてみます! CLOUD NATIVE TRAIL MAPとは クラウド ネイティブへの…

初めてのAKS(Azure Kubernetes Service) on Microsoft Azure

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、Qiita Advent Calendar2022のAzureの23日目として、 Microsoft Azureで初めてのAKS(Azure Kubernetes Service)を使ってみます! https://qiita.com/advent-calendar/2022/azure AK…

kubeadmで構築したkubernetesクラスターのアップグレード(v1.23 to v1.24)

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに https://kubernetes.io/blog/2022/05/03/kubernetes-1-24-release-announcement/ 5/3にkubernetesの新バージョンStargazerがリリースされました。 なので手元にあるv1.23のKubernetesクラ…

kubenetesクラスター(v1.22.0)の構築(kubeadm) on Ubuntu Server 20.04.3 LTS

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 予め作成したKVM環境上のVM(Ubuntu Server 20.04.3 LTS×2台)にkubeadmでkubernetesクラスターを構築してみます。 KVMでのVM作成方法 virt-install --name kube_newmaster --ram 4096 --disk size=50…

helmを使ったkubernetesクラスターへのサービス展開

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、helmを使ってKubernetesのクラスターへサービスを展開してみます。 helmとは? そのままですが、kubernetes用のパッケージマネージャです。 分かりやすい例だと、RPM系におけるyum…

kubernetes APIリソース一覧とショートネームについて

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに kubernetesでkubectlのコマンド入力を省略形(ショートネーム)で行っている方をみかけたので、 ちょっと調べてみました。 例えば、以下のような使い方です。 kubeuser@kubemaster1:~$ kubec…

LENS(開発統合環境)でkubernetesクラスターを操作する

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、LENS(開発統合環境)でkubernetesクラスターを操作するメモです。 以下の記事で作成したkubernetesクラスターを追加対象としています。 kubenetesクラスターの構築(kubeadm) on Ubu…

kuernetes yamlファイルの書き方

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、kubernetesを使う際に必要となるyamlファイルの書き方に関するメモです。 何となくこんな感じで書けばいいんだろうと、他の方が使っているファイルを真似ていますが、 「ルールっ…

Podが"Pending"のまま起動しない原因(kubernetes)

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに KubernetesでPodが"Pending"のまま起動しない原因に関するメモです。 事象の発生 以下のように、Deployment(Pod)を含むをapplyします。 kubeuser@kubemaster1:~$ kubectl apply -f nginx.y…

"Terminating"のまま削除できないPodの強制削除(kubernetes)

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに KubernetesでPodが"Terminating"のまま、削除できない事象を回避するメモです。 事象の発生 以下のように、DeploymentとPodがあるので削除します。 kubeuser@kubemaster1:~$ kubectl get a…

kubernetesのデータベースetcdをバックアップする

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 はじめに 今回は、Kubernetesのデータベースであるetcdのバックアップです。 etcdはkubernetesに関する構成情報などを格納しているので冗長構成としますが、 さらに定期的なバックアップをして耐障…

Kubernetes API-Serverへkubectlではなく、curl(http api)でアクセスをする方法

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 今回は、Kubernetesでkubectlコマンドではなく、curl(http api)を使ってアクセスする方法の紹介です。 はじめに kubernetesでは、Pod(コンテナ)などの状態をkubectlコマンドで取得しますが、 クラス…

kubenetesクラスターの構築(kubeadm) on Ubuntu Server 20.04.3 LTS

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 前回記事で作成したKVM環境上のVMにkubeadmでkubernetesクラスターを構築してみます。 今回構築する構成ですが、以下になります。 なお、kubernetes公式の構築ドキュメントは、以下です。 https://k…

etcdを使ってみる!

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 今回は、etcdを使ってみます。 etcdとは? etcdといえば、kubernetesで使われているkey value store(クラスタの全情報を持っている)として有名です。 https://kubernetes.io/ja/docs/concepts/overv…

kubernetes(クラスタ環境)の構築方法・利用方法まとめ

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 今回は、kubernetesクラスタ環境の構築/利用方法に関するメモです。 いろいろな方法があるのはなんとなく分かっていたのですが、 思った以上に多かったので整理の為に簡単ですがまとめてみました。 …

Prometheusの始め方

LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。 モニタリングツールであるPrometheusの始め方の紹介です。 作業は、Ubuntu 20.04 LTSで行っていますが、その他のディストリビューションでも基本同じかと思います。 作業の流れは、Prometheusの本家…

kubernetesのNodePortでサービスへアクセスする

こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。 今回は、kubernetesのPod(nginx*4台)へ外部からアクセスする方法です。 なお、アクセス方法としてはNodePortを使用しています。 Pod(nginx)の用意 バックエンドのWebサーバとなる…

kubernetes YAML記載方法に関するエラーメッセージ

こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。 kubernetesでYAMLからデプロイするときのエラーメッセージに関するメモです。 特に、初めてYAMLを書いてデプロイする場合に遭遇することが多そうです。 エラーメッセージ1 「error: e…

Opensourcetech by Takahiro Kujirai