ビビリフクロウの足跡

いつもお世話になっているインターネットへの恩返し

自キ初心者が自作ケース沼まで着々と浸かる話

この記事はキーボード #2 Advent Calendar 2020の23日目の記事です。 はじめまして、こんにちは。bbrfkr(ビビリフクロウ)と申します! 本記事では9月に自作キーボードを初めて、キット組み立て沼から基板設計沼を経由し、自作ケース沼にハマりかけている初心…

SlackとGitlabを連携して社内IT部門への依頼をやりやすくした話

背景 弊社では、GitLabをメインリポジトリとして活用しておりまして、社内ITの依頼管理に対してもGitLab上のissue機能を使って管理しております。ところがこの管理には以下のような課題が在りました。 実際の依頼はGitLab上に直接記入するのではなく、Slack…

cdktfをOpenStackでつかってみた

はじめに プロジェクトでAWS CDKを使う機会が増えています。linterやテストコード書いてCI回したり、静的型付けを実施できたりと、今までインフラの世界では通用しなかった高級言語のナレッジが適用できるようになって嬉しいですよね! そこで、自宅で立てて…

自宅プライベートクラウドにおけるCDのご紹介

自宅プライベートクラウドをお休みの時間に粛々と構築しています。現在は構築用のコードリポジトリ(ansibleだったり、k8sのマニフェストだったり、docker-composeだったり。。。)に対するデプロイが全て手動で煩雑だったため、CDをGitLab CIにて実現しようと…

自作の量子コンピュータシミュレータ

インフラ畑出身の私ですが、最近はpythonで量子コンピュータシミュレータなんかを書いています。 pythonでコード書いたり、テスト書いたりする練習になるのと、単純に量子情報の研究やっていたので、気になっていたからですね。ですが、単純にアプリケーショ…

Hashicorp Vault 触ってみた

前々からHashicorp製品群には興味がありましたが、試そう、試そうと思うだけで中々本格的に手を出せずにいました。なんというか、Hashicorp製品群を本格的に利用しようという考えにまでならないんですよね。。。 Vagrant知ったときはインフラしかできなかっ…

自宅プライベートクラウド再構想

生きています! 過去の自分よ、ごめんなさい。。。もうそれ以上は言うまい。。。 さて、自宅プライベートクラウド環境ですが、構成管理ツールで構築・運用を自動化しているものの、やはりVMに直接ソフトウェアをインストールするとなるとペット的に扱わざる…

EKS for Fargateの検証しました!

お久しぶりです…! 生きております…! 激動の10,11月だったため、更新が滞っておりました。来年こそはもっと密に更新していきたい…! さて、裏では12/5にGAされたEKS for Fargateの検証をしておりました。あとは業務でDjangoいじったり、Lambda関数作ったり……

ElastAlertでEFKスタックで収集したログを監視する

お久しぶりです。生きております…! 最近はコンテナ基盤の監視やログ収集について勉強しておりました。定番のPrometheus+GrafanaやEFKスタックについてですね。前者ではcadvisor、node-exporterを使った一般的なDockerホスト監視やbackbox-exporterを使った…

kata containers + firecrackerを試してみた

コンテナのセキュリティレベルを上げるためにホストOSとの分離レベルをあげようというモチベーションで開発されたプロダクトがいくつかあります。gVisorやrunV、kata containersなどがそれです。今回はその中のkata containersを検証してみました。kata cont…

StatefulSetのノード障害時の挙動と対応

前回、Kubernetesのノード障害時の挙動について記事を書きました。このときはDeploymentを使って挙動を確かめていたですが、前回の記事を見た方から「StatefulSetだと挙動が違ったはず」とのご意見を頂戴しました。 https://twitter.com/tzkb/status/1116597…

Kubernetesのノード障害時の挙動とノード復帰後の再スケジューリング

Kubernetes上のアプリケーションの可用性について調べていたところ、ノード障害時に気をつけたほうが良い点を見つけたので記事にしてみます。 Kubernetesのノード障害時にはノードのステータスがNotReadyになります。Kubernetesクラスタが以下の通り構成され…

Rancher Submarinerを動かしてみた

3/12にRancher公式ブログで発表された、「Submariner」という新しいOSSを動かしてみましたので、軽く所感を書きます。 Submarinerってなに? 複数のKubernetesクラスタのPodネットワークおよびServiceネットワークを繋げるプロダクトです。NodePortサービス…

Kubernetesの認定資格「CKA」を取得しました 〜これから受ける方へのアドバイス〜

この度、Kubernetesの認定資格「CKA(Certified Kubernetes Administrator)」を取得いたしました! 今後受ける方のお役に立てばと、受験レポートを残しておきます。 要約 〜忙しい人はここだけ読んでね〜 試験に関する説明の書かれている英語のドキュメント「…

KubernetesのHorizontalPodAutoscalerでハマった話

ふとしたきっかけで、deploymentを以下のように定義していたわけです。 apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: v1 name: nginx spec: replicas: 1 selector: matchLabels: app: v1 strategy: {} template: m…

OpenStack Swiftの既存リングを拡張する

OpenStack Swiftで新しくストレージノードを構築し、既存リングを拡張する機会がありましたので、その際の手順をメモしておきます。 手順 proxyノードで以下のコマンドを叩きます。 # accountリングの拡張 swift-ring-builder account.builder add r<region num>z<zone num>-<storage node ip>:6202/<device name></device></storage></zone></region>…

Portusでプライベートなコンテナイメージレジストリを立ててみる

Dockerを使う際にまずお世話になるのがパブリックなコンテナイメージレジストリサービスであるDocker Hubかと思うのですが、業務で本格的にDockerを使うとなった際にはクローズドなネットワークセグメントでしかDockerホストを実行できなかったりして、プラ…

KubeVirtを使ってみる

KubeVirtをお試ししてみたので、その際のメモを残しておきます。 KubeVirtとは KubeVirtはRed Hat社が主に開発している、CNCF MemberプロダクトのOSSです。KubeVirtを使うとKubernetes上で仮想マシンを管理することができるようになります。これによりコンテ…

Kubernetes the Hard Way on OpenStack

Kubernetesの構築をスクラッチで実践できるチュートリアルとしてKubernetes the Hard Wayがあります。来年のはじめくらいにCKAを取得したいと考えているので、本チュートリアルを自宅のOpenStack上で実施してみました。その際の実施手順と少しばかりの解説を…

virtual-kubeletをAWS Fargateで試してみた

現在開催中のJapan Container Days 1812の基調講演でvirtual-kubeletなるプロダクトを聞いたので、サクッと試してみました。 virtual-kubeletとは Kubernetesにおけるkubeletの実装の一つで、podの作成先を他のプラットフォームのAPIに依頼することができる…

Neutron LBaaSのオートヒーリング設定

少しずつ、プライベートクラウド(OpenStack)の構築時ナレッジを書いていこうと思います。本日はNeutron LBaaSについてです。 Neutron LBaaS自身、Octaviaにその役割を譲りつつあり、Deprecateなのですが、LB用VM立てるよりもHAproxyのプロセスをネットワーク…

docker-composeでNginx + Django + MySQLのWeb三階層を構成する

Kubernetesクラスタの構築方法など、インフラ観点での記事を書くことが多い本ブログですが、Kubernetesを学んでみると インフラエンジニアもアプリケーションエンジニアの気持ちがわかったほうがいい! というお気持ちになるのです。CI/CDとか考えると特に。…

Docker for WindowsでMySQLコンテナのデータを永続化する

Docker for WindowsでMySQLコンテナのデータを永続化する際、ホストディレクトリを/var/lib/mysqlに単純にマウントすると、MySQLコンテナ側で以下のようなエラーが出ます。 2018-11-18T10:02:32.761277Z 1 [ERROR] [MY-012646] [InnoDB] File ./ibdata1: 'op…

既定のアプリをコマンドで変更する方法

Windows 10の10月24日のアップデートでGUI上から一部の既定のアプリを変更することができないようになっているみたいです。これに見事にはまり、.txtファイルの既定のアプリをメモ帳から変更できなくなってしまいました。。。 Microsoft側もこのことを認識し…

OpenStackとoVirtで自宅クラウド環境を構築してみた

お久しぶりです。4か月間ぐらい全くポストしていませんでしたが生きています。 何やっていたかというと、自宅環境をOpenStackによってプライベートクラウド化しておりました。これが完成しないと諸々の検証ができないので、ブログのポストより優先していたら…

kubeadmを用いたKubernetes HAクラスタ on AWS(v.1.11対応版)

前の記事を公開してすぐにv.1.11が出てしまい、構築方法が変わったので、泣きながら再検証... 構成 OS: CentOS7 サーバ群 Master + etcd 3台(aws-k8s-master[01-03]) Node 3台(aws-k8s-node[01-03]) 前提 作業ユーザはroot 手順 NLBの作成(AWS ManagementCon…

kubeadmを用いたKubernetes HAクラスタ on AWS

AWS上でkubeadmを使い、Kubernetes HAクラスタを作ってみたときのメモです。 構成 OS: CentOS7 サーバ群 Master + etcd 3台(aws-k8s-master[01-03]) Node 3台(aws-k8s-node[01-03]) 前提 作業ユーザはroot 手順 Dockerのインストール(aws-k8s-master[01-03]…

gVisorを試してみた

Googleが開発したgVisorを試して、簡単に性能調査してみましたので、メモとして残しておきます。 環境 OS: Ubuntu 16.04 LTS vCPU: 2 (Core i3) Mem: 4G gVisorのインストール手順 Dockerのインストール sudo apt-get update sudo apt-get install -y \ apt-…

Rancher 2.0で複数のKubernetes環境を管理してみる

2018年4月末にコンテナ管理プラットフォームであるRancherのバージョン2.0がGA(General Availability)となりました。対応するコンテナオーケストレーションツールをKubernetesに絞り、オンプレ/クラウド問わずKubernetesクラスタをマネジメントするOSSに昇華…

API Aggregationを有効化してPrometheusのメトリクスからHorizonPodAutoscalerでPodのオートスケールをする

やたら長いタイトルですが… KubernetesではAPI Aggregationといって、Custom Metrics API Serverを用意しkube-apiserverと連携することでAPIを拡張することができます。例えば今回のタイトルにもある通り、Prometheusが取得したメトリクスをAPIから取得でき…