ギャバンITサービス
お菓子の家が作れるシステムエンジニアです

GCP gkeのメモ3(wordpressをgke上で動かす)

業務でmysql8をGKEで扱いそうになってるから、何か練習できる材料ないかなぁって探してた。 GKEでwordpressとmysqlやってみる。 だいたいのやり方はこのへんで調べてみた。 KubernetesでWordPress構築をやってみた。運用費は月額4000円ほど。 #GoogleCloud - Qiita qiita.com GCP GKE(Kubernetes) WordPressセットアップ│システムガーディアン株式会社 sys-guard.com WordPress | Google Cloud cloud.google.com なるほど、できそう。 cloud sqlじゃなくてmysql8のコンテナでやる wordpressは最新で6.2 ディスクはvmで使う普通のものを割り当ててマウント ついでにmac13にgcloud入れてgke扱えるかもやってみる。 少しナメてかかってたけど、やってみたらwordpressの設定でつまづいた。 gitでダウンロードしたyamlは書き足さなアカンかった。 クラスタもPodも何回か作り直したから、ログにあるPodの物理名はいろいろ混じってる。 mac13にgcloudのセットアップ ローカルのmac13からやってみる。 dockerはもともとlinuxの技術だったはず。 macはコンテナとか扱えないはずなんやけど、docker desktopとかrancher desktopとかあるらしい。 自分は元々linuxサーバでコンテナ取扱いするから、macにdocker入れる必要なくて、ubuntuのvmの中で環境作ってる。 GKE取扱いするのはmac13でもいけるのでgcloudとkubectlをインストールする。 gcloudの入れ方は普通にgoogleのドキュメントにある。 gcloud CLI をインストールする | Google Cloud SDK Documentation cloud.google.com ダウンロード まずは材料のダウンロードとtar展開。 1 2 3 4 5 6 7 8 9 10 nari@gvisMac13 gke-wordpress % tar xzf ./google-cloud-cli-426.0.0-darwin-x86_64.tar.gz nari@gvisMac13 gke-wordpress % ll total 269184 -rw-r--r--@ 1 nari staff 119M 4 23 06:57:15 2023 google-cloud-cli-426.0.0-darwin-x86_64.tar.gz drwxr-xr-x 21 nari staff 672B 4 23 06:58:34 2023 google-cloud-sdk/ nari@gvisMac13 gke-wordpress % du -shc * 131M google-cloud-cli-426.0.0-darwin-x86_64.tar.gz 541M google-cloud-sdk 672M total nari@gvisMac13 gke-wordpress % インストール gcloudをインストールしてみる。 そやけど、ログ長いなぁ。 ...

GCP gkeのメモ2(gceでpythonサンプルアプリをビルドし、google cloud registoryにpush/pullしてgkeでも動かす)

GCRを業務で扱うことになったのでやってみる。 GCRってのはgoogle container registoryっていうdocker image置き場。 自分のプロジェクトの中でのみ公開したいときに使うみたい。 ビルドはローカルPCのdockerでやってイメージ作ってから、GCRへ認証を通しておいてdocker pushすることでイメージ作れる。 GCRに作ったイメージはGKEのポッドに展開して動かせる。 GCR(google container registory)はGAR(google artifact registory)に移ってくのかも? クイックスタート: Docker コンテナ イメージを Artifact Registry に保存する | Artifact Registry documentation | Google … cloud.google.com まぁええ。やってみよ。 参考にさせてもらったページは、先にcloud source repositoriesへ登録してるところもあったから、ついでにやってみた。 普段使ってるGCPのプロジェクトとは別枠でやってみた。 仮想マシン作成 マーケットプレースから流用して仮想マシン作る。 vcpuとメモリは予算に応じて。自分は4コア16GBメモリHDD50GBで作った。 無料枠やからこれぐらいでええ。ディスクを多くとったのは後でdocker入れたいから。 ファイアウォールで80と443のポート開けとく設定も入れとく。 起動してコマンドライン使えるまで1分。 めちゃ楽。 aptしてgit入れる rootユーザになって以下を動かす。 1 2 3 4 apt autoremove apt clean apt update apt upgrade 保留のパッケージが残ることもあるけど、更新対象がなくなるまで動かす。 全部で2回動かせばいい。 途中で確認メッセージが出ることあるけど、全部「承認」とか「OK」でええ。 ...

GCP gkeのメモ1(autopilot上でnginxを起動)

dockerはlinuxに入れてもう5年ぐらい使ってる。 gkeを業務で扱うことになったのでやってみる。 gkeではdocker使わなくなったってどっかで見た。 dockerとは違うところもあるんやろけど楽しみ。 ググるとサラっとやってるページあったので参考にさせてもらった。 作者さんありがとう。 GKE Autopilot上にNginx環境を構築 #GoogleCloud - Qiita qiita.com gkeでapi有効化とクラスタ作成 「kubernetes engine」⇒「クラスタ」を選ぶ。 初回はAPIを有効化する。 クラスタの基本 GKE Autopilotの「構成」をクリックする。 クラスタに名前つけて使いたいリージョンを選ぶ。 ネットワーキング 一般公開クラスタが選択できていることを確認してそのまま次へ。 詳細設定 特に変更せず次へ。 クラスタ作られたことの確認 確認と作成の画面もそのまま次へ行く。 「ステータス」がクルンクルン回るので、終わるのを5分ほど待つ。 後で書いとくけど、ここがうまく行くのに実際はトラブった。 うまく行くとステータスが緑色のチェック入りで表示される。 nginxをデプロイ やっとアプリケーション設置。 あんまり設定することはないけど、「選択」ってするとイメージ指定できるんやろ。 他にどんなイメージ使えるんか nginx以外を選択するときはArtifact Registry APIってのを有効にせなアカンのか。 今度また使うから、有効にして一覧見えるようにできるか。 認証情報って作らなアカンの? って、下のほう見たらgkeで実行するアプリには必要なしやでって書いてある。 時間なくなったから、いったんこのへんまでにしとこ。 nginx普通に使えるようにしよか。 使えるようにする 名前はデフォルトのまま。クラスタも指定できてるのを確認。 いきなり公開するのはやめとこか。 ちゃんとデプロイできるか見てからやね。 さぁ行ってみよっか。 なんやねん、Unschedulableってあるやん。 リソース確保にたぶん失敗したんやろなぁ。少し待ったら自律回復してくれるかも。 5分ほどタバコ休憩してからワークロード見たら、シレっと動いてた。 公開されたものが見えるか確認 公開してみたろやんけ。普通にhttpでいってみ。 ...

時刻あわせ

1分たりともマシンの時間をズレさせたくないと思うのは、あまりにも神経質とは思わない。 時間をあわせることの大事さは、ログに表示される時間にも影響されるから5秒未満のズレですませたい。 特に土日の競馬で1分以上時間がズレるのは致命的。 windowsで時刻あわせ windowsで時間をきちっとあわせるためのレジストリ設定はこんな感じ。 けっこう昔からやってる。 スタートメニューを右クリックして[ファイル名を指定して実行]をクリック regedit と入力して[OK]をクリック ユーザーアカウント制御ウインドウが表示されるので、[はい]をクリック レジストリエディターが開き、下の場所をクリックして表示する HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient 下のカテゴリを変更 SpecialPollInterval 設定したい秒数を入力する 0x000007d0(16進数)=2000(10進数) 実際にやるとこうなる レジストリはこう設定してる。 設定できてるかをコントロールパネルにある「日付と時刻」で確認する。 「次回の同期」ってとこに2000秒後の時間が表示されててOK。 すぐズレる マシンには水晶時計ってのが入ってたっけ。 マザーボードに実装されてたはず。 大昔、仮想化しはじめた頃は5分に1回NTPせな、時計がズレズレになってまうことあったような気がする。 物理マシンでも、1ヶ月放置してると5分以上狂うことがある。 業務でネットに公開してるサーバもちゃんと時間あわせしとかないと、ログに正確な時間が残らない。 windowsのアクティブディレクトリ環境なら、プライマリドメインのサーバに向かってクライアントは時刻あわせてく。 ということは、プライマリドメインサーバの時間あわせとかなアカン。 構築のときにはちゃんと時刻あわせする設定入れとく。 どうしても時間をズレさせたくない理由がある 業務の場合 業務ではまぁ構築したときに誰かがやってくれてる。 お客さんの社内にはだいたいタイムサーバがあるし、放置しといてもいい。 linuxとかルータのような箱モノのときはきちっと設定必要。 プライベートでは? 競馬やってると、普通は発走の2分前で投票締め切りになる。 競馬場のパドックで電光掲示を見ていると「あと何分」みたいな表示が出てる。 これはこれでええんやけど、コロナ後はネット投票することが増えた。 時間はパソコンに出てくる表示がすべて。 現地で「もう発走」ってときの映像が届いても、画像変換に時間がかかって30秒以上の遅延が発生してることもある。 特に地方競馬はそうなることが多い。 ネット版のグリーンチャンネルで見てても、10秒ぐらい遅れてることがある。 地方競馬で「締め切り1分前です」とか表示されても、実際は締め切り時刻になってることがある。 これが年末の有馬記念とかで、もし投票できんなんてことがあったら年末の大汚点になってまう。 しかも最後に考えた3連単が正解で、その投票ができなかったら悔やんでも悔やみきれない。 「時間に余裕を持って買えばええやん」とも言う。 そうはいかないときもあるし、「5番人気の3連複」ってオッズ順での買い方をすることがあるし、高い倍率のオッズの馬の複勝を千円書いたいときもある。 特に地方競馬は直前までオッズかコロコロ変わる。 やっぱり、pcの時間はマメにあわせなアカン。 時刻あわせはめっちゃ大事。

パッケージとシステムの更新(brew/apt/yum/dnf/windows update/pip)

mac/linux/windowsをできるだけ手間なく新しいソフトウェア状態で維持したい。 地味に入力せずに、一発で終わるようにできるのが理想。 mac/linuxで改善継続中やけど、macでbrew使うようにもなったので自分なりのまとめ。 brewでmacを維持 macは緊急じゃない場合でも、なんとなく月初めにシステムアップデート出てるような気がする。brewでパッケージ管理してて、こっちは不定期。 システムアップデートもコマンドラインあるんかもしれんけど、目で見て確認しながら更新したいから自動化はせず。 今回はbrewでパッケージ管理してるとこの話。 brewって何やねん。 たとえながら解説しておられる方がおられた。 作者さんありがとう。 HomeBrewの仕組みについてまとめておく - それマグで! takuya-1st.hatenablog.jp なるほど、ビールを醸造することにたとえてるってことか。 Formulaはビルドのレシピで、Kegが樽でmakeの材料みたいな感じ。 こういうセンス好き。 南紀白浜の ナギサビール 飲みたくなってまう。 細かい使い方はこちらの解説を参考にさせてもらった。 作者さんありがとう。 homebrewとは何者か。仕組みについて調べてみた #Mac - Qiita qiita.com brewでインストール たとえばnmapをmacに入れたいとき。 1 2 $ brew install nmap :(中略) 入れたらこんな感じ。 ジョッキが見えてカワイイ。 絵文字入ってるけど、webページで化けずに表示できるんかなぁ。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 nari@gvisMac13 script % brew install nmap ==> Fetching nmap ==> Downloading https://ghcr.io/v2/homebrew/core/nmap/manifests/7.93 Already downloaded: /Users/nari/Library/Caches/Homebrew/downloads/edbc1a48185552df54d127166b7b3ee2aafeccf6fc4a05172f20de560cda64f8--nmap-7.93.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/nmap/blobs/sha256:ffa5863f860997861ee935efb30c26f57 Already downloaded: /Users/nari/Library/Caches/Homebrew/downloads/5f8a56cbeeac537d883d0dd6482f216611d008aa3a959a361717087f131cd212--nmap--7.93.ventura.bottle.tar.gz ==> Pouring nmap--7.93.ventura.bottle.tar.gz 🍺 /usr/local/Cellar/nmap/7.93: 826 files, 26.5MB ==> Running `brew cleanup nmap`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). nari@gvisMac13 script % which nmap /usr/local/bin/nmap nari@gvisMac13 script % linuxと違って、sudoせずにインストールができるのは管理ユーザに指定してるからかも。 ...

 ⭐️