Zalando Postgres Operator を試してみた

ふとしたきっかけで、自宅ラボに PostgreSQL as a Service が欲しくなったので Zalando Postgres Operator を試してみました。 Zalando Postgres Operator とは Zalando Postgres Operator(以下、Postgres Operator)とは、Kubernetes クラスタに HA 構成の PostgreSQL クラスタを簡単に構築してくれる Operator です。 Postgres Operator を Kubernetes クラスタにデプロイすると、postgresql というカスタムリソースを宣言したマニフェストを使うだけで簡単に PostgreSQL クラスタを構築できます。 また、専用の Web UI を使って PostgreSQL クラスタを管理することもできます。 この Postgres Operator を自宅ラボの Kubernetes クラスタにデプロイして PostgreSQL as a Service として利用します。 Zalando SE Zalando SE とは、ヨーロッパを中心に展開するオンラインファッションプラットフォームを運営する企業です(日本で言うところの ZOZO でしょうか?)。 Zalando SE は GitHub で複数のオープンソースのプロジェクトを公開しています。 Zalando SE Zalando Postgres Operator も Zalando が開発しているプロジェクトの一つです。 ...

January 22, 2021 · 3 min · @nnstt1

2020年振り返り

2020年も残すところ数時間なので、今年の振り返りをサクッとします。 第一子誕生 1月に長男が誕生しました。 2, 3ヶ月は夜に起こされることも多く心身ともに疲労がありましたが、 妻の実家に近いこともあり、かなり助けられました。 大変な時期も含めて、とてもとても可愛くて毎日の成長が楽しみです。 来週には1歳になりますが、まだ誕生日プレゼントを決めきれずにいます。 年始のセールで決めちゃいましょう。 自宅ラボ構築 5月に自宅ラボを構築しました。 今でも十分に大活躍していますが、仮想化基盤としてはメモリ不足を感じているのでスケールアウトかスケールアップしたいですね。 (沼の気配がする) 仮想化基盤のパーツ購入&構築 先月の投稿で自宅ラボの機器選定をしました。結論を言うと、DeskMini A300 を買いました。 仮想化基盤のハードウェア選定 つよつよエンジニアには「自宅ラボ」という検証環境をお持ちの方が多いようです。 「自宅ラボある⇒つよつよエンジニアになる」ではないですが、自宅ラボあれば勉強する機会が増えるのではということで、自宅ラボ構築を目指します。 「逸般の誤家庭」と呼ばれる常軌を逸した環境(褒め言葉)を構築されている方もいらっしゃるようですが、お財布のほうも常軌を逸してしまいそうなのでコスパ重視で自宅ラボを構築を検討します。 今回は、仮想化基盤用マシンのハードウェア選定をしていきます。ネットワークについては別途検討予定。 目的(なぜ仮想化基盤用のマシンを用意するのか) 自宅でも快適にKubernetesクラスタを検証するためです。 現在は自宅PC(Win10)にVMware Workstation Playerを入れ、その上にESXiを入れてしてネスト仮想化基盤を構築しています。 しかし、PCのスペックがそこまで高くうえにネスト構成にしたためESXiのVMは激重になってしまいました。 当初はOpenShift4を動かしてみるつもりでしたが、インストール作業が終わりませんでした。OpenShiftは要求スペックが高いですね…。 Chapter 1. Installing on bare metal | Installing on bare metal | OpenShift Container Platform | 4.3 | Red Hat Documentation Chapter 1. Installing on bare metal | Installing on bare metal | OpenShift Container Platform | 4.3 | Red Hat Documentation access.redhat.com 代わりにkubeadmでK8sクラスタ(master3台, worker3台)を組んでみたのですが、クラスタできたもののPrometheus-Operatorを入れてみたら無事に死亡しました。 そのようなこともあり、快適にK8sクラスタを動かすことができる自宅ラボを構築することが目的となっています。 機器選定 マザーボードと電源が一体となった「ベアボーン」 or パーツをそれぞれ自分で選ぶ「自作PC」の2通りから考えます。 (ベアボーンも自作PCに含まれると思いますが、適切な表現が不明なので分けて記載します。) 本当はラックサーバが欲しかったのですが、自宅の要件(電力だったり騒音だったり)に合いそうにないため除外しています。また、タワーサーバは中古市場であれば比較的安価なものが出回っているようですが、十分に調べきれていないためこちらも除外しています。 ストレージ ストレージは各候補ともに共通の製品を選択予定です。 パーツ 型番 特徴 価格.comの最安値 ストレージ WD Blue SN550 NVMe WDS500G2B0C m.2 NVMe 8,448 ASRock Deskmini A300 パーツ 型番 特徴 価格.comの最安値 ベアボーン Deskmini A300 NIC(Realtek) 18,673 CPU Ryzen 5 3400G 4コア8スレッド 20,680 メモリ crucial CT8G4SFS8266 [SODIMM DDR4 PC4-21300 8GB] スロット全部使用 15,960(3,990x4) 合計 55,315 ASRock Deskmini 310 パーツ 型番 特徴 価格.comの最安値 ベアボーン Deskmini 310 NIC(Intel) 17,223 CPU Core i5 9400 6コア6スレッド 21,560 メモリ crucial CT8G4SFS8266 [SODIMM DDR4 PC4-21300 8GB] スロット全部使用 15,960(3,990x4) 合計 54,743 自作PC パーツ 型番 特徴 価格.comの最安値 ケース Thermaltake Versa H17 MicroATX/Mini-ITX, 3.5inch: 2個, 2.5inch: 2個 2,979 マザボ ASRock B450M Steel Legend NIC(Realtek) 9,800 電源 ANTEC NeoECO Gold NE550G 550W、プラグイン 8,980 CPU Ryzen 5 2600 6コア12スレッド 14,278 グラボ 玄人志向 GF-GT710-E1GB/HS 安い 3,027 メモリ crucial CT2K16G4DFD832A [DDR4 PC4-25600 16GB 2枚組] 1セット追加で64GBまで拡張可能 15,870 合計 54,934 比較 案 Pros Cons A300 ? CPUにグラフィック必須 310 NICがIntel グラボ乗らないのでCPUにグラフィック必須 自作PC 6コア12スレッド, 拡張性○ ケースでかい(Deskminiと比べて) おわりに 上記の3パターンの構成で検討していますが、費用についてはほぼ差はない状態です。 DeskMini A300を選んだ理由 機器選定で3パターン検討していて、なぜメリットを感じなかったDeskMini A300を選んだのか、なぜ選んでいた自作PCにしなかったのか。それは「Micro ATX用ケースが思いの外でかい!」ということが大きいです。 初 LT (オンライン) 6月の Ansible Night で初めてのLTをしました。 ...

December 31, 2020 · 3 min · @nnstt1

自宅 k8s クラスタのサービスに FQDN で繋がるようにした

自宅の検証用マシン (Deskmini A300) に ESXi を入れて検証環境として利用しています。 最近はそこへ k8s クラスタを構築して色々試しているのですが、クラスタ内に立ち上げたサービスへは IP アドレスでアクセスしていました。 IP アドレスでアクセスするのはとても面倒だったのですが、やっと k8s で動かしているサービスに FQDN で繋がるようになったので投稿します。 システム構成図 完成後のシステム構成図になります。 (構成図描くの下手で分かりにくいと思います…) [f🆔nnstt1:20201113012536p:plain] 見てもらって分かる通り、LAN 用の DNS サーバを VM で建てています (k8s クラスタの外です)。 これは、k8s クラスタを構築する前に DNS サーバ (dnsmasq) を構築していて、それを流用しているためです。 使用するプロダクト 今回利用しているプロダクトは以下になります。 名前 バージョン 用途 Kubernetes 1.19.0 コンテナオーケストレーション Docker 19.03.12 コンテナランタイム ExternalDNS 0.7.3 DNS プロバイダに DNS を登録 CoreDNS 1.8.0 DNS サーバ etcd 3.4.13 DNS レコード格納 MetalLB 0.9.3 ベアメタルロードバランサー 構築 以下の手順で環境を構築しました。 DNS サーバ (CoreDNS & etcd) 構築 MetalLB デプロイ ExternalDNS デプロイ DNS サーバ (CoreDNS & etcd) 構築 CoreDNS & etcd を使った DNS サーバを構築します。 この DNS サーバに k8s クラスタのサービス用の DNS レコードを格納していきます。 なぜ dnsmasq を流用しないかというと、後述する ExternalDNS が dnsmasq に対応していないからです。 ...

November 13, 2020 · 4 min · @nnstt1

AZ-900 を自宅からオンライン受験してみた

Azure の認定資格 Azure Fundamentals を取得するため、AZ-900 という試験を自宅から オンライン受験 をしました。受験結果は 900/1000 で合格でした。 「AZ-900 に向けてやったこと」と「オンライン受験はどうだったか」を記録するためのポストです。 AZ-900 に向けてやったこと 無料受験のためのバウチャー獲得 通常、 AZ-900 の受験料は \12,500 となっています(2020/8時点)。 ところが、Microsoft が開催しているウェビナーに AZ-900 受験用のバウチャー付きのものがあります (こちら など)。 今回は 4 月に開催されたウェビナーに参加してバウチャーを手に入れました。 勉強 試験に向けた勉強は以下を実施しました。 ウェビナー ウェビナーは先のバウチャー付きのもので、自分が受講したものは 1 日間の日程でした。 バウチャー目的だったため業務片手間で聞いており、内容はあまり頭に入ってこなかったです。 ウェビナーもしっかり聞いておいたほうが理解度が上がった気がします。 Microsoft Learn Microsoft Learn に AZ-900 向けのラーニングパスがあります。 今回はラーニングパスを 1 巡しました。 ほとんどが読み物だったのですが、一部パートで実際に Azure を使ったものがあり理解しやすい内容でした。 ただ、文章は機械翻訳のようで読むのに少し疲れました。 参考書 参考書は Amazon で「合格対策Microsoft認定AZ-900:Microsoft Azure Fundamentalsテキスト&問題集」の Kindle 版を購入しました。 当初は参考書は買うつもりはなく、Learn だけで受験する予定でした。 Learn にはセッション毎に確認問題もあるのですが数が少なく、本番の出題形式ともあっていないようだったので不安がありました。 そこで問題集を探したのですが、そもそも AZ-900 向けの日本語書籍が当該参考書しか見つかりませんでした。 問題集として見た場合は問題数が少ないのですが、不安を取り除くためには十分な内容でした。 また、試験直前の再確認として見返すにはちょうどよい分量でした。 オンライン受験はどうだったか 結論から言うと、「自宅からのオンライン受験は快適」です。 当初心配していた 英語監督 の受験でも特に気にする必要がないことが分かりました。 また、オンライン受験特有の事前確認がありましたが、そちらも気にするほどでは無いことが分かりました。 ...

August 15, 2020 · 1 min · @nnstt1

GitLab CIとMoleculeでRoleテスト自動化

はじめに Ansible には Role のテストを支援してくれる「Molecule」というツールがあります。今回は Molecule と GitLab CI を用いて Role のテスト自動化ができるように環境を整えていきます。 Molecule の詳細については、ひよこ大佐本こと「Ansible構築・運用ガイドブック」や「ソフトウェアデザイン 2020年6月号」に載っています。(Molecule 実践ガイドまだ?) 主に備忘録のため参照される場合は適宜読み替えてください。 作業内容 今回は「自宅ラボ」と称している仮想化基盤(ESXi)上の「作業用マシン(CentOS 7)」で moleculeコマンドの実行 GitLab Runnerコンテナの起動 GitLab CIでmolecule testの自動化 をできるようにします。なお前提として、作業用マシンにはdockerインストール済みで、GitLabは仮想化基盤上の別サーバに導入済みです。 環境構築 Moleculeインストール 作業用マシンでMoleculeのコマンドを実行できるようにします。Molecule 公式サイトに複数のインストール方法が載っていますが、今回はvirtualenv内にmoleculeコマンドをインストールします。 $ sudo python3 -m pip install virtualenv $ virtualenv molecule $ source molecule/bin/activate (molecule) $ python -m pip install "molecule[lint]" "docker" (molecule) $ molecule --version molecule 3.0.4 ansible==2.9.9 python==3.6 公式サイトではインストール時に--userオプションを付いていたのですが、自分の環境ではエラーが出てしまったので外しています(TODO: エラー原因調査)。また、pipでmoleculeをインストールするとansibleもついてきます。pipでansibleをインストールする場合はmoleculeに置き換えてもいいかもしれませんね。 Ansible Role作成 さきほどインストールした molecule コマンドを使って Ansible の Role を作成します。 ansible-galaxy コマンドと同様に、Role に必要なディレクトリのテンプレートを作成することができ、Molecule で使用する molecule ディレクトリも作成されます。 今回は「test-role」という名前の Role にしています。 ...

May 31, 2020 · 2 min · nnstt1

AWX が Ansible Galaxy を使う動きを追ってみた

前回の投稿でAWXのProjects自動同期方法を調べたのですが、その中で一つ気になることが出てきました。 それは 「AWXではAnsible GalaxyのRoleはどのように参照されるのか」 という点です。 CLIで使うAnsibleでは ansible-galaxy install コマンドで外部Role(Galaxyに公開されているRoleや特定リポジトリのRole)をPlaybookから参照/実行できます。参照するRoleを指定する方法の1つに、参照情報を記載したYAMLファイルを読み込む方法があります。その際のコマンドは ansible-galaxy install -r [参照ファイルパス] です。AWXでも同じように参照されるのか、確認してみました。 マニュアルを読む Ansible TowerでAnsible Galaxyを使う方法はUser Guideに書かれています。AWXも同じ方法です。それによると、<project-top-level-directory>/roles/requirements.yml ファイルを見つけると自動的に ansible-galaxy installコマンドが実行されるようです。 [https://docs.ansible.com/ansible-tower/latest/html/userguide/projects.html#ansible-galaxy-support:embed:cite] なるほど、CLI版とほぼ同じでansible-galaxy installコマンドを使って、参照するファイルの名前や保存先は指定されていると。そして実行タイミングはProject Update(プロジェクトの同期)の最後。じゃあ特段気にすることはないな、と思っていたのですが…。 実際に確認 前回の調査で知ったのですが、Project Update自体もAWXの Internal Job となっています。(正式用語かわかりませんがプログラム内のコメントでは Internal Job と記載されていたのでここでもそう呼びます) そして、Internal JobもPlaybookを参照して実行されるようで、Project Updateは project_update.yml というPlaybookを参照しています。このPlaybookはawx_taskコンテナの/var/lib/awx/venv/awx/lib/python3.6/site-packages/awx/playbooks/project_update.ymlにあります。project_update.ymlの中身を見ると、 name: Update source tree if necessary name: Install content with ansible-galaxy command if necessary という2つのtasksで構成されていることが分かります。前者がAWX上で指定したSCMの更新で、後者がrequirements.ymlで指定した外部Roleの更新なんですね。実際に後者のタスクでcommand: ansible-galaxy installの記述があるので、マニュアルで書かれていた内容はこのPlaybookで実現しているようです。 外部Role更新タスクの実行条件として when: roles_enabled|bool と tags: install_roles がありました。変数roles_enabledは Settings -> Jobs -> Enable Role Download のON/OFFで決まるようです。tagsのほうはInternal Job実行時に install_roles が付いていれば実行されるタスクのようですが、ここは未確認です(理由は後述)。 ...

May 24, 2020 · 1 min · @nnstt1

仮想化基盤のパーツ購入&構築

先月の投稿で自宅ラボの機器選定をしました。結論を言うと、DeskMini A300 を買いました。 仮想化基盤のハードウェア選定 つよつよエンジニアには「自宅ラボ」という検証環境をお持ちの方が多いようです。 「自宅ラボある⇒つよつよエンジニアになる」ではないですが、自宅ラボあれば勉強する機会が増えるのではということで、自宅ラボ構築を目指します。 「逸般の誤家庭」と呼ばれる常軌を逸した環境(褒め言葉)を構築されている方もいらっしゃるようですが、お財布のほうも常軌を逸してしまいそうなのでコスパ重視で自宅ラボを構築を検討します。 今回は、仮想化基盤用マシンのハードウェア選定をしていきます。ネットワークについては別途検討予定。 目的(なぜ仮想化基盤用のマシンを用意するのか) 自宅でも快適にKubernetesクラスタを検証するためです。 現在は自宅PC(Win10)にVMware Workstation Playerを入れ、その上にESXiを入れてしてネスト仮想化基盤を構築しています。 しかし、PCのスペックがそこまで高くうえにネスト構成にしたためESXiのVMは激重になってしまいました。 当初はOpenShift4を動かしてみるつもりでしたが、インストール作業が終わりませんでした。OpenShiftは要求スペックが高いですね…。 Chapter 1. Installing on bare metal | Installing on bare metal | OpenShift Container Platform | 4.3 | Red Hat Documentation Chapter 1. Installing on bare metal | Installing on bare metal | OpenShift Container Platform | 4.3 | Red Hat Documentation access.redhat.com 代わりにkubeadmでK8sクラスタ(master3台, worker3台)を組んでみたのですが、クラスタできたもののPrometheus-Operatorを入れてみたら無事に死亡しました。 そのようなこともあり、快適にK8sクラスタを動かすことができる自宅ラボを構築することが目的となっています。 機器選定 マザーボードと電源が一体となった「ベアボーン」 or パーツをそれぞれ自分で選ぶ「自作PC」の2通りから考えます。 (ベアボーンも自作PCに含まれると思いますが、適切な表現が不明なので分けて記載します。) 本当はラックサーバが欲しかったのですが、自宅の要件(電力だったり騒音だったり)に合いそうにないため除外しています。また、タワーサーバは中古市場であれば比較的安価なものが出回っているようですが、十分に調べきれていないためこちらも除外しています。 ストレージ ストレージは各候補ともに共通の製品を選択予定です。 パーツ 型番 特徴 価格.comの最安値 ストレージ WD Blue SN550 NVMe WDS500G2B0C m.2 NVMe 8,448 ASRock Deskmini A300 パーツ 型番 特徴 価格.comの最安値 ベアボーン Deskmini A300 NIC(Realtek) 18,673 CPU Ryzen 5 3400G 4コア8スレッド 20,680 メモリ crucial CT8G4SFS8266 [SODIMM DDR4 PC4-21300 8GB] スロット全部使用 15,960(3,990x4) 合計 55,315 ASRock Deskmini 310 パーツ 型番 特徴 価格.comの最安値 ベアボーン Deskmini 310 NIC(Intel) 17,223 CPU Core i5 9400 6コア6スレッド 21,560 メモリ crucial CT8G4SFS8266 [SODIMM DDR4 PC4-21300 8GB] スロット全部使用 15,960(3,990x4) 合計 54,743 自作PC パーツ 型番 特徴 価格.comの最安値 ケース Thermaltake Versa H17 MicroATX/Mini-ITX, 3.5inch: 2個, 2.5inch: 2個 2,979 マザボ ASRock B450M Steel Legend NIC(Realtek) 9,800 電源 ANTEC NeoECO Gold NE550G 550W、プラグイン 8,980 CPU Ryzen 5 2600 6コア12スレッド 14,278 グラボ 玄人志向 GF-GT710-E1GB/HS 安い 3,027 メモリ crucial CT2K16G4DFD832A [DDR4 PC4-25600 16GB 2枚組] 1セット追加で64GBまで拡張可能 15,870 合計 54,934 比較 案 Pros Cons A300 ? CPUにグラフィック必須 310 NICがIntel グラボ乗らないのでCPUにグラフィック必須 自作PC 6コア12スレッド, 拡張性○ ケースでかい(Deskminiと比べて) おわりに 上記の3パターンの構成で検討していますが、費用についてはほぼ差はない状態です。 DeskMini A300を選んだ理由 機器選定で3パターン検討していて、なぜメリットを感じなかったDeskMini A300を選んだのか、なぜ選んでいた自作PCにしなかったのか。それは「Micro ATX用ケースが思いの外でかい!」ということが大きいです。 ...

May 18, 2020 · 2 min · @nnstt1

AWXのプロジェクトを自動同期させたい

Ansible/AWXを利用していて、少し煩わしいと思ったことがあります。 それは「Playbookをリポジトリに追加したら、AWXのプロジェクトの同期を手動実行しないとジョブテンプレートからそのPlaybookを選択できない」という点です。 プロジェクトを同期していないと、ジョブテンプレートのPlaybook選択するプルダウンに追加したPlaybookが出てこないのです。 現在の手順は以下のような感じです。 新規Playbookをリポジトリに追加 プロジェクト手動同期 ジョブテンプレートで新規playbookを選択 簡単な手順ではあるのですが、わざわざ「2. プロジェクト手動同期」をする度にモヤモヤーってしています。このモヤモヤを取り除きたいと思います。 (どんだけ面倒くさがりなんだ……) やりたいこと 簡潔にいうとタイトルの通り 「AWXのプロジェクトを自動同期させたい」 です。自分の検証環境ではGitLabでPlaybookを管理しているので、具体的には以下のような流れで自動同期をしてみます。 GitLabのリポジトリを更新する(Playbookの追加に限定しません) AWXになんとかして更新を通知する AWXのプロジェクトを更新させる 「AWXになんとかして更新を通知する」方法として、AWXの「Webhook」と「API」の2通り検討しました。 前提 今回使用した環境は以下です。 それぞれ個別のサーバに構築 AWX 11.0.0(Ansible 2.9.5) GitLab CE 12.10.3 AWXのプロジェクトはGitLabと連携済み GitLab Runnerは Shell Executer を登録済み 同期方法 Webhook AWXにはWebhook経由でジョブテンプレートを実行するための設定があります。 ジョブテンプレート編集画面でENABLE WEBHOOKにチェックし、WEBHOOK SERVICEでGitLabを選択するとWEBHOOK URLとWEBHOOK KEYに値が表示されます。(WEBHOOK KEYはジョブテンプレート保存後に表示) Towerのマニュアルになりますが、詳細はこちら。 22. Working with Webhooks &mdash; Ansible Tower User Guide v3.8.6 docs.ansible.com マニュアルにある通りGitLabの設定をしたら、Webhookを使用してジョブテンプレートを実行することができます。しかし、AWXのプロジェクトをWebhookで実行することはできないようです。上記のジョブテンプレート編集画面のようなWebhookを設定する画面は見つかりませんでした。(AWXのソースを見ても無さそうです) Webhook経由で無理やりプロジェクトを同期させる方法としては「Update Revision on Launchを有効にしたプロジェクトを使用するジョブテンプレートをWebhookで実行する」があるかと思います。AWXのプロジェクトの設定でUpdate Revision on Launchを有効にしていると、当該プロジェクトを使用するジョブテンプレートを実行するときにプロジェクトの同期も実行されます。 この機能を利用してWebhookからジョブテンプレートを実行し、間接的にプロジェクトを同期することで AWXのプロジェクトを自動同期させたい を達成可能です。ジョブテンプレートの中身は何でも良いですが、目的がプロジェクトの同期なので処理が軽めの同期用ジョブテンプレートを用意するのが良いと思います。また、Webhookはワークフローテンプレートの実行も可能なので、複数プロジェクトを一斉に同期ということも可能です。(やる機会は無さそうですが) ...

May 17, 2020 · 1 min · @nnstt1

仮想化基盤のハードウェア選定

つよつよエンジニアには「自宅ラボ」という検証環境をお持ちの方が多いようです。 「自宅ラボある⇒つよつよエンジニアになる」ではないですが、自宅ラボあれば勉強する機会が増えるのではということで、自宅ラボ構築を目指します。 「逸般の誤家庭」と呼ばれる常軌を逸した環境(褒め言葉)を構築されている方もいらっしゃるようですが、お財布のほうも常軌を逸してしまいそうなのでコスパ重視で自宅ラボを構築を検討します。 今回は、仮想化基盤用マシンのハードウェア選定をしていきます。ネットワークについては別途検討予定。 目的(なぜ仮想化基盤用のマシンを用意するのか) 自宅でも快適にKubernetesクラスタを検証するためです。 現在は自宅PC(Win10)にVMware Workstation Playerを入れ、その上にESXiを入れてしてネスト仮想化基盤を構築しています。 しかし、PCのスペックがそこまで高くうえにネスト構成にしたためESXiのVMは激重になってしまいました。 当初はOpenShift4を動かしてみるつもりでしたが、インストール作業が終わりませんでした。OpenShiftは要求スペックが高いですね…。 Chapter 1. Installing on bare metal | Installing on bare metal | OpenShift Container Platform | 4.3 | Red Hat Documentation Chapter 1. Installing on bare metal | Installing on bare metal | OpenShift Container Platform | 4.3 | Red Hat Documentation access.redhat.com 代わりにkubeadmでK8sクラスタ(master3台, worker3台)を組んでみたのですが、クラスタできたもののPrometheus-Operatorを入れてみたら無事に死亡しました。 そのようなこともあり、快適にK8sクラスタを動かすことができる自宅ラボを構築することが目的となっています。 機器選定 マザーボードと電源が一体となった「ベアボーン」 or パーツをそれぞれ自分で選ぶ「自作PC」の2通りから考えます。 (ベアボーンも自作PCに含まれると思いますが、適切な表現が不明なので分けて記載します。) 本当はラックサーバが欲しかったのですが、自宅の要件(電力だったり騒音だったり)に合いそうにないため除外しています。また、タワーサーバは中古市場であれば比較的安価なものが出回っているようですが、十分に調べきれていないためこちらも除外しています。 ストレージ ストレージは各候補ともに共通の製品を選択予定です。 パーツ 型番 特徴 価格.comの最安値 ストレージ WD Blue SN550 NVMe WDS500G2B0C m.2 NVMe 8,448 ASRock Deskmini A300 パーツ 型番 特徴 価格.comの最安値 ベアボーン Deskmini A300 NIC(Realtek) 18,673 CPU Ryzen 5 3400G 4コア8スレッド 20,680 メモリ crucial CT8G4SFS8266 [SODIMM DDR4 PC4-21300 8GB] スロット全部使用 15,960(3,990x4) 合計 55,315 ASRock Deskmini 310 パーツ 型番 特徴 価格.comの最安値 ベアボーン Deskmini 310 NIC(Intel) 17,223 CPU Core i5 9400 6コア6スレッド 21,560 メモリ crucial CT8G4SFS8266 [SODIMM DDR4 PC4-21300 8GB] スロット全部使用 15,960(3,990x4) 合計 54,743 自作PC パーツ 型番 特徴 価格.comの最安値 ケース Thermaltake Versa H17 MicroATX/Mini-ITX, 3.5inch: 2個, 2.5inch: 2個 2,979 マザボ ASRock B450M Steel Legend NIC(Realtek) 9,800 電源 ANTEC NeoECO Gold NE550G 550W、プラグイン 8,980 CPU Ryzen 5 2600 6コア12スレッド 14,278 グラボ 玄人志向 GF-GT710-E1GB/HS 安い 3,027 メモリ crucial CT2K16G4DFD832A [DDR4 PC4-25600 16GB 2枚組] 1セット追加で64GBまで拡張可能 15,870 合計 54,934 比較 案 Pros Cons A300 ? CPUにグラフィック必須 310 NICがIntel グラボ乗らないのでCPUにグラフィック必須 自作PC 6コア12スレッド, 拡張性○ ケースでかい(Deskminiと比べて) おわりに 上記の3パターンの構成で検討していますが、費用についてはほぼ差はない状態です。 ...

April 5, 2020 · 1 min · @nnstt1

OpenShift 構築奮闘記 #0

OpenShift の構築に試行錯誤した記録を残すため「OpenShift構築奮闘記」というタイトルで連載を始めます。 手始めに OpenShift を構築することにした経緯と、インストールする構成を残しておきます。 どのような課題が発生している/していたかは #1 以降で記載します。 なお、執筆時点で構築完了していないため連載回数は未定です。 事の始まり 弊社(弊部署)には毎月hh時間は技術向上のために遊んでよい(業務外のことをしてよい)、という取り組みがあります。 その一環で、自分は Kubernetes や Ansible といった技術の検証(勉強)を進めていました。 検証のためのVMは用意してもらっていましたが、1台しかないため色々試したいことが試せず悶々とした日々を過ごしていました。 e.g. 1サーバに GitLab(omnibus) と Kubernetesクラスタ を同居させて、 GitLab から Kubernetes に連携しようとしても「同じサーバ上にあるからダメー」と怒られたり…。 そんな折の今年1月末に突如、「保守期限切れになったサーバ(正確にはワークステーションらしい)を廃棄する前に自由に使っていいよ」とボスから声を掛けていただきました。 ↓その日の定時後の様子 なんか知らんけど保守切れ物理サーバ5台を自由に使っていいことになった!なんのご褒美だ?何して遊ぼうかな、やっぱりKubernetesかなー — ののし (@nnstt1) January 31, 2020 5台も使えることになったのですが、前職を含めても物理サーバを直接触ったこともないド初心者です。 とりあえず1台分だけ VMware ESXi を導入してVMの作っては壊しをできるようにして、その VMware 上に当初から考えていた Kubernetes クラスタを構築を目指しました。 社内ネットワークということもありプロキシやら認証やらで手こずりながらも、なんとか kubeadm を使った Kubernetes クラスタを構築することができました。(この内容もいずれ記事に残したいです) そんなこんなして遊んでいたら、Red HatのウェビナーやSoftware Design 3月号で紹介されていた OpenShift の詳細を知る機会があり、興味が湧いてきました。 OpenShift、いいですよね(説明を見聞きしただけで触ったことはない)。 使うだけならARO(Azure Red Hat OpenShift)が楽だと思いますが、せっかくなので VMware 上に OpenShift を構築することを次の目標にしました。 構築にあたり以下の記事を参考にさせていただいてます、ありがとうございます。 OpenShift 4.1をIntelの超小型PC「NUC」にインストールする - Qiita はじめに 2019年6月に OpenShift Container Platform 4.1(以降、OCP4.1と表記する)がリリースされました。 評価用にOCP4.1をIntelの超小型PC「 NUC (NUC6i7KYK) 」にインストールした時の手順を投稿します。 ... qiita.com OpenShift 4.1をベアメタルへUPIインストールする - 赤帽エンジニアブログ Red Hatの福岡オフィスでソリューションアーキテクトをしている田中司恩です。OpenShift 4.1をUPIでベアメタル環境にインストールする方法について解説します。基本的にはインストールドキュメントの要約になりますが、初めてOpenShiftに触れる方にも分かりやすいように順を追って説明していきます。*1 なお、AWSへのUPIインストールについては、前の記事で林さんが書かれていますのでそちらを参考にしてください。 rheb.hatenablog.com 2019/10/30追記。 OpenShift 4.2がGAになりましたので、4.1からの変更点について下記の記事にまとめました。 … rheb.hatenablog.com 上記の記事を流し見して「なるほどよく分からん、まぁなんとかなるでしょ」と、これも勉強だと気軽に考えて手を動かし始めました。 ...

March 3, 2020 · 1 min · @nnstt1