当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

ローカルLinuxでAzure Cliを使ってAKS(Azure Kubernetes Service)の連動を確認してみる。

ローカルLinuxでAzure Cliを使ってAKS(Azure Kubernetes Service)の連動を確認してみる。


azure-cliのLinuxへのインストール

ディストリビューション関係なくこれだけでインストールできます。

ログインの下準備(Azure Portal側でテナント作成)

az cliでログインする際にテナントIDが必要となる。ActiveDirectoryの管理配下でテナントを会社単位で決定しているはずなので該当ドメインを選択して確認する。

azでコマンドラインからログイン

ログインはコマンドラインから「az login」を実行して認証のCredential確保をローカルPCに設置します。

azでコマンドラインからリソースグループ作成

リソースグループ作成の実行結果

azure acrへのコンテナの登録のテスト&aks kubernetesへの認証鍵の生成等

とりあえずACRへ登録するだけの実験なのでイメージは何でも良いと思う。適当に用意して登録してみよう

aksと認証を取ってAzureに置かれているサンプルを使ってkubernetesの実験をします

前述のACRイメージはここでは無視してください。Azureのサンプルを実行してみるだけです。 ただし前述で作成した鍵で認証を行っています。

終わったら実験したクラスターを始末しましょう

実験を残しておくと課金されるから片付けましょう。

タグ: , , , , , , , ,

Kubernetes:ローカルフォルダをPod側のドキュメントルートにマッピングする事にハマったの巻


普段クラウド側の外部共有ディスクを使ってpodへマウントするためあまり問題になることもなかったが、Linux上でminikubeを使った簡単なプラクティスを作ろうとやってみたら思いっきりはまってしまった。3時間くらいどうしてだろう??? エラー出ていないのにマウントされずブラウザー上にForbbidenがでてしまう。

やろうとした事

2つのkubernetes用のマニフェストファイルを用意して、Rocky Linux上でPHP7.4のコンテンツを表示させるサーバを作ろうとしていた。1つのマニフェストファイルはpodの生成&Deployを生成するファイル。もう一つはサービスを生成するファイルを準備した。特にエラーが出ていないがなぜかマウント出来ていないからコンテンツが表示されずForbbidenの表示。

POD&DEPLOY生成(kube-pod-deploy.yaml)

Service生成(kube-serv.yaml)

原因を調べて気がついた事

ここを読んで気がついた。そうかなるほど。

minikube 永続ボリュームハンドブック

第一の気付きはホスト側のフォルダーは下記のフォルダー配下に作らないといけない。これはminikubeだけではなくkubernetesでも同様らしいね。

  • /data
  • /var/lib/minikube
  • /var/lib/docker
  • /var/lib/containerd
  • /var/lib/buildkit
  • /var/lib/containers
  • /tmp/hostpath_pv
  • /tmp/hostpath-provisioner

minikube is configured to persist files stored under the following directories, which are made in the Minikube VM (or on your localhost if running on bare metal). You may lose data from other directories on reboots.

落とし穴はここだった。「which are made in the Minikube VM」なるほど!minikubeの仮想マシン上がローカルホストってことだ。自分が今使っているベアメタル上のLinuxOSのことを指しているわけではない。

対応しました。

原因がわかってしまえば大した事はない。minikube仮想マシンへログインすればよいだけの事。ログインした先(minikube)がローカルホストなのでそこでホスト側のフォルダーとコンテンツを作ればOKだ。

ブラウザーも問題なく表示できました

よく考えればkubernetesを使うってことは仮想空間のNODE上にクラスター作ってpodを配置するのでローカルがそもそもkubernetesそのものなんだよね。ずっ普段使っているLinuxホストだと思いこんでいた。3時間もかかりましたがいい気づきだった。

タグ: , , , , , , ,

久しぶりにminikube開始したらエラーが。対処方法。


久しぶりにkubernetesの実験をしようと思ってminikube起動したら上記のようなエラーが出た。対処方法について書きます。

なぜこのエラーが出るのかのヒント

  • Dockerのローカルワークスペースのパスを途中で変更
  • コンピュータのハードウェア変更
  • Docker&minikube稼働中にPCダウンとか

対処方法

docker ps -aで状態を確認し、起動せずに終了しているminikubeインスタンスを見つけ削除すると良い。

再度、minikube startで復活できるはず。

タグ: , , , ,

備忘録:VirtualBoxやDocker for Desktopでエラー対応。


最近、仮想化のIT技術が大流行り。でも色々と入れているプログラムで起動時に沢山エラーが出てくるなー。

VirtualBoxがHyper-V絡みでエラーを出したとき。

VirtualBoxが WHvSetupPartition VERR_NEM_VM_CREATE_FAILED ConsoleWrapエラー時の解決方法。 Hyper-Vを無効にします。

Windows WSLの機能が入っているとDockerがエラー発生

Windowsの機能の有効化または無効化ツールを起動します。

共有ディスクを使っているコンテナー生成時にdocker-composeでエラー発生

これがまた、dockerコンテナとWindowsのフォルダーと共有させる場合に発生する。以前はこんなのがなかったように思う。とりあえずDocker DesktopからGUIの設定からfileshareの箇所を登録すれば問題なくビルドは成功する。

今度はDockerが起動できなくなった。Hyper-V復活

タグ: , , , ,

DockerでWORDPRESSを導入する際のDataBaseバージョン(MySQL or Mariadb)要注意。


昨今、大人気のDockerですが、システムはもちろんのこと中でも教育用に使われる機会は多いのではないかと感じます。WORDPRESSやLinux、各種言語の環境を素早く整えるために便利だと感じます。

初心者だけではなく、ITの専門家でも幅広くやっている方と一つに特化してやっている方で別れると思います。特に言語系技術とサーバ系技術は一緒で考えがちですがスケールが大きくなってくるとサーバ技術をきちんと持っているかどうかの違いが生じてきます。

そんなとき言語系でやられている専門家の方はDockerを使うことでハードルがぐんと下がるのではないかと思います。

前フリは長くなってしまいましたが、インターネットの世界ではWORDPRESSやPHPといった環境は圧倒的にWEBアプリケーションの中では使用頻度が高いためDockerで使用する人も多いと思います。

ということで、実際にDockerでWORDPRESSを使って見ようと思いました。

※今回はMariadbでWORDPRESSを使用したため問題なくあっさりWORDPRESSのインストールができましたが、Mariadb/MySQLを使う場合はバージョンをLatestバージョンにしてしまうと間違いなくハマります。環境による違いもあるのでDBエラーコネクションが表示される場合は以下のMySQL5.7.xをオススメします。

この原因はMySQLのバージョンがLatestだとVersion 8になってしまいWORDPRESSとのインターフェイスが取れなくなってしまうからです。ネットでもかなりVersion 8を無意識にインストールして接続できない問題で苦しんでいる方が多いようでした。この理由はcaching_sha2_passwordがMySQL8のデフォルト認証プラグインに変更された事が原因です。 どうしても、MySQL8で対処したい方はmy.cnfでデフォルト認証プラグインを変更してDocker imageへコミットの上、再度コンテナ作成が必要です。

旧来の認証プラグインを使うように変更(変更後MySQL再起動が必要)



WORDPRESSで使う場合はMySQLのバージョンを5.7.xがよろしいと思います。下記のような感じで バージョン指定します。

【MySQLで接続する場合】

もし、様々な問題が生じたらやはりアプリ環境へログインして分析することが大切!

【デバッグは環境にログインしてアプリの設定を確認しよう】

タグ: , , , , ,