Simple minds think alike

より多くの可能性を

2019-01-01から1年間の記事一覧

Kubernetesクラスタを作ってみた with ラズベリーパイ〜上品なファブリックケーブルを添えて〜

一家に一台Kubernetesクラスタの時代が到来したとちらほらと聞こえ始めてきたので、いまさらながらRaspberry PIでKubernetesクラスタを作ってみました。 Raspberry PIのKubernetesクラスタであれば、EKSのようなクラウドベンダーが提供しているサービスでは…

【Rails】ビューに date_select や date_time_select を使ったフォームで UnknownAttributeError が発生する場合の対処

利用ケースは少ないと思いますが、ActiveRecord::Base を継承しないフォームと date_select や date_time_select を使ったビューの組み合わせだと、フォーム初期化時に UnknownAttributeError が発生していて、原因と対処方法がよく分からず若干ハマってしま…

Github actionsでRuby on railsプロジェクトのRspec / System test CIを動くようにしてみた

8月8日にGithub actionsでCI実行できるようになったと発表があってから早くも1ヶ月、先日ようやくbetaの申し込みが通って触れるようになったので、Ruby on railsのプロジェクトでRspecが動くようにしてみました。 作ったプロジェクトはこちらです。よかった…

kiib.ioのQuefrencyで自作キーボード初心者がキーボード作ってみた

秋葉原にある自作キーボード専門店「遊舎工房」さんに行って、キーボードを作ってきました。お店の雰囲気としては、色々なキーボードが飾ってある電子部品のお店みたいな感じでした。 keeb.ioのQuefrencyというPCB(Printed circuit board:プリント基板) …

Web開発に選ぶKubernetes ローカル開発支援ツールまとめ (minikube, Kind, microk8s, Docker Desktop)

Kubernetes使って普段のRails Web開発を行いたいなと思って、Kubernetes ローカル開発支援ツール(minikube, kind, microk8s, Docker Desktop)のどれが良いのか調べてみました。 将来的にはローカル環境のコンテキストから本番環境に切り替えるだけですぐに…

kubernetesの認証と認可、サービスアカウントとユーザーアカウントの概念

Kubernetesのドキュメントを読んで、認証と認可、サービスアカウントとユーザーアカウントの概念をまとめてみました。 kubernetes.io 認証と認可 認証の対象(サービスアカウントとユーザーアカウント) 認証方式 Service Account Tokens Webhook Token Auth…

kubeadminでAWS環境にkuenetesクラスタを作ってみた - マスターノード・ワーカーノードの構築 (2/2)

前回の記事の続きです。 前の記事に引き続き、ubuntuユーザでログインして実行したコマンドを記載していきます。 以下の公式ドキュメントを参照して、マスターノードを構築しました。 kubernetes.io 構成図 マスターノード コントロールプレーンノードの初期…

kubeadminでAWS EC2環境にkuenetesクラスタを作ってみた - 各ノード共通の設定 (1/2)

kubernetesのドキュメントを読んでAWS環境にkuenetesクラスタを作ってみました。 基本的にはクラウドプロバイダーから提供されているkubernetes環境を使うことになるので、コマンドを叩いてクラスタを作ることはないと思いますが、内部で何をしているかを把…

AnsibleでEC2にRuby環境(rbenv, ruby, bundler)をインストール

以前まとめたAnsibleでのAWS環境構築のPlaybookに続いて、Ruby環境(rbenv, ruby, bundler)もインストールできるようにしてみましたので、Playbookの書き方をまとめておこうと思います。 構成 環境 Ansibleのインストール Ansible定義ファイルのディレクトリ/…

AnsibleでAWS環境 (VPC、セキュリティグループ、EC2、RDS)構築の自動化

パフォーマンス検証環境を新たに作りたい場合など柔軟にAWS環境の構成を何度も作り直したい時、構成管理ツールを使って自動化すると非常に便利だと感じています。 同じミドルウェアの設定の環境を迅速に作れる。 サーバの環境、ミドルウェアの設定内容をコー…

AWS CLI、Ansibleのインストール方法 (Ubuntu 18.04)

構成管理ツールAnsibleのインストール方法を記載していきます。 AnsibleでAWSの環境構築も行えるようにAWS CLIのインストールも行っていきます。 ローカル環境のAWS CLIを用いてAWS環境を構築できるようにするので、ローカル環境で以下のインストールを行っ…

JMeter で Rails のCSRFトークンを取得する方法

JMeterでRailsアプリケーションの負荷テスト作ると、サーバ側にCSRFトークンが渡ってないために、フォームを使った登録処理のテストが失敗します。 それを回避するために、JMeterでCSRFトークンの取得し、登録操作などのリクエストにトークンを渡す必要があ…

JMeter を使った ActionCable ( WebSocket ) 負荷テストの設定方法

最近、Railsアプリケーション開発でもReact.jsやVue.jsなどを使ったフロント開発の案件が増えてきました。 比較的規模が大きなシステムでは リリース前にどの程度の高負荷まで耐えられるか リリース後でもステージング環境でどの程度の高負荷まで耐えられる…

JMeter WebSocket Samplersのインストール方法

JMeter WebSocket Samplers は、JMeterでWebSocket通信を使った負荷テストを行うための拡張機能です。 以下の2つをインストールすることで利用可能になります。 JMeter WebSocket Samplers Plugin Manager 環境 JMeter 5.1.1 ( 未インストールの場合はこちら…

JMeter レスポンスの結果で操作を条件分岐する設定

負荷テストのシナリオを考えた時に、例えば検索画面で検索を行い、その結果に表示される件数が0件でなければ、詳細画面(検索結果の最初の1件目)に遷移するなどの条件に応じたシナリオのテストを作る必要が出てくるかと思います。 そのようなシナリオのテス…

JMeter テストの作成方法

具体的な例がないとピンと来ないと思うので、簡単なシナリオに沿ってJMeterのどの構成要素を設定して、テストを作成いけばよいのかを解説していきます。 以下のようなWebシステムを想定して、負荷テストを行うための構成を行っていきます。 JMeterのテスト作…

Apache JMeter 5のインストール方法 (Ubuntu 18.04 LTS)

デスクトップ環境で、単一のGUI版 JMeter (またはNon GUIモード)を起動して、Webサイトの負荷テストを行いたい場合 サーバ環境(AWSなど)で、複数のjmeter-serverを起動して、Webサイトの負荷テストを行いたい場合 どちらの場合でも、同じ方法でインストー…

rack-mini-profiler gemの使い方・指標の見方・問題箇所の絞り込み方法

Railsアプリケーション開発でパフォーマンスモニタリング、パフォーマンスチューニングやってますか?? New relicを始め、DatadogやSkylightなど便利なモニタリングサービスがたくさんあるので使ってはいるけれど、イマイチ使いこなせていない状況ではない…