TECHSTEP

ITインフラ関連の記事を公開してます。

【メモ】CircleCIとAmazon ECR / EKSを利用したCI/CDパイプラインの例

はじめに 今回はCircleCIとAmazon ECRを利用したCI/CDパイプラインを用意し、コンテナイメージのビルドからKubernetesクラスタへのデプロイまで実行するサンプルを作成しました。 構成 今回は以下のようなCI/CDパイプラインを作成しました。 管理対象はGoの…

【メモ】GitHub ActionsとGitHub Container Registryを利用したCI/CDパイプラインの例

はじめに 今回はタイトルの通り、GItHub ActionsとGitHub Container Registryを利用したCI/CDを用意し、コンテナイメージのビルドからKubernetesクラスターへのデプロイまでを実行するサンプルを作成しました。 構成 CI/CDのパイプラインのパターンはいくつ…

NATSに入門する

今回はメッセージングシステムの一つであるNATSを試してみました。 NATSとは 分散システムにおけるアプリケーションとサービス間のコミュニケーションは複雑で理解が難しいものとなります。現代のメッセージングシステムは複数のコミュニケーションパターン…

Falcoに入門する

今回はCloud-Nativeなランタイムセキュリティ機能を提供するFalcoを試しました。 Falcoとは FalcoはSysdig社が開発元であるランタイムセキュリティツールです。CNCFがホストとなっているOpen Sourceであり、2020年12月時点でプロジェクトの成熟度はIncubatin…

Open Policy Agentに入門する

今回は汎用的な環境に対してポリシーエンジンを提供するOpen Policy Agent(OPA)について調査しました。 Policy as Codeとは OPAを操作する前に、Policy as Codeというコンセプトについて少し触れます。Policy as CodeはHashiCorp社がSentinelというツール…

Istioに入門する

今回はService Meshについて概要を調べ、Service Meshを提供するプロダクトの一つであるIstioに触れてみました。 Service Meshとは マイクロサービスの課題 Service Meshを考えるうえでまず必要になるのが、マイクロサービスアーキテクチャの抱えるいくつか…

Custom Resourceに対するValidationをGitHub Actions + k3sで試してみる

はじめに 今回はCustom Resourceに対してのValidationを何とかできないかと考え、GitHub Actions + k3sを組み合わせてみた結果を残しておきます。 経緯 Kubernetesのマニフェストファイルに対するValidation Kubernetesにリソースを作成する場合、マニフェス…

【メモ】CronJob経由で定期的にKubernetesリソースをデプロイする

はじめに 今回はKubernetesのCronJobリソースでkubectlコマンドを実行し、定期的にリソースを更新する方法について、メモを残しておきます。 やりたいことは以下の通りです。 git cloneにより、GitHubリポジトリからマニフェストファイルを取得する kubectl…

External Secretsを試してみる

今回はKubernetes上で扱う秘匿情報を管理するExternal Secretsを試してみました。 注意事項:本記事はExternal SecretsのリポジトリがGoDaddyからexternal-secretsに移管する前に検証をしていたものです。そのため、一部マニフェストファイルにはgodaddy/kub…

【メモ】 ArgoCDでAWS ALBを利用するときの設定

はじめに 先日ArgoCDをAmazon EKS上にデプロイし、AWS ALB経由でArgoCD UIにアクセスしようとした際、幾つかの設定変更が必要であることが分かったので、備忘録として残しておきます。 ArgoCD - AWS ALBの構成 ArgoCD + AWS ALBの構成は、大まかには以下のよ…

Argo CD Notificationsを試す

はじめに 今回は、Argo CDと組み合わせて利用することのできる通知ツールの一つ、Argo CD Notificationsについて、概要と利用方法を紹介します。 Argo CD Notificationsとは Argo CD Notificationsは、Argo CDのリソースを監視し、実行結果に応じてメール・S…

Argo RolloutsのAnalysisTemplateを用いた自動ロールバックを試してみる

Argo Rolloutsは、Kubernetesで利用できるRolling Updateよりも高度なデプロイ・リリース方式を利用することができます。その中には「Progressive Delivery」という、デプロイ後に特定の分析を行い、デプロイの結果を評価するという方式も含まれています。 A…

Argo Rolloutsに入門する

先日ArgoCDを利用してみましたが、今回は同じArgo Projectの中からArgo Rolloutsを試してみました。Argo Rolloutsを利用することで、より高度なデプロイ・リリースを実現することができます。 リリース方式の違いと特徴について Argo Rolloutsを利用する前に…

ArgoCDに入門する

はじめに 本記事ではGitOps CDツールの一つであるArgoCDの概要と利用方法について紹介いたします。 ArgoCDとは ArgoCDはKubernetesクラスター向けのContinuous Deliveryを実現するツールです。ArgoCDでは、Kubernetesマニフェストファイルが格納されたGitHub…

Kubernetesのマルチテナントの現状を整理する

はじめに 本記事では、Kubernetesで実現するマルチテナントについて、2020年9月時点での現状と、将来的に利用できるであろう機能の紹介をいたします。各機能についての詳細は、参考ドキュメント等を参照していただければと思います。 本記事の要点 マルチテ…

CephのBest Practiceを探る④:RHCSの更なるパフォーマンス調査

はじめに 本記事はCephのBest Practiceを探る第4弾になります。今回も先日紹介した記事の続編として、Cephの公式ブログで公開されているこちらの記事の内容を紹介いたします。今回も記事内容への補足や個人的なメモは青文字で加えております。なお、本記事を…

CephのBest Practiceを探る③:Node数によるパフォーマンスの変化

はじめに 本記事はCephのBest Practiceを探る第三弾になります。今回も先日紹介した記事の続編として、Cephの公式ブログで公開されているこちらの記事の内容を紹介いたします。今回も記事内容への補足や個人的なメモは青文字で加えております。 ceph.com 要…

Tekton Trigger exampleを眺める

はじめに 先日Tektonに入門した記事を公開しましたが、TektonにはTask Pipeline以外にもTriggerという重要な機能が存在します。Triggerを利用することで、git pushなどのイベントを契機にパイプラインを実行することが可能となり、CI/CDパイプラインを構築す…

CephのBest Practiceを探る②:ブロックサイズによるパフォーマンスの変化

はじめに 本記事はCephのBest Practiceを探る第二弾になります。今回は先日紹介した記事の続編としてCephの公式ブログで公開されているこちらの記事の内容を紹介いたします。今回も記事内容への補足や個人的なメモは青文字で加えております。 ceph.com 要約 …

CephのBest Practiceを探る①:BlueStore使用時のチューニング

はじめに 本ブログでは、2020年になってからRook-Cephについて、機能や使い方などをいろいろと調べてまいりました。しかし一方で、そうやって調べた機能は、具体的にどのように利用するのか、どのような設定を行えばRook(というよりCeph)の機能を引き出す…

Tektonに入門する

はじめに 最近Kubernetes上でCI/CDパイプラインを構築するTektonというツールについて調べる機会があったので、本記事で簡単にまとめておきます。 Tektonとは TektonはKubernetes NativeなCI/CDソリューションとして開発され、Kubernetesクラスター上でのア…

【個人メモ】Gin/Gormに入門してテスト用Webアプリを作成

Go

はじめに クラウドやコンテナに限らず、インフラ周りの検証をするとき、テスト用のアプリケーションを利用することが必要となってきました。今までは公式サイト等で用意しているテスト用アプリを利用することがほとんどでしたが、さすがにそれではいかんと思…

Rook-Ceph Cleanup Policyの紹介

はじめに Rook v1.3で追加された機能の一つにRook-Ceph Cleanup Policyがあります。これはCephCluster削除時にdataDirHostPathに指定したディレクトリ上のデータを削除する機能です。 Rook v1.3以前では、検証などでクラスターを削除する際、こちらのページ…

Rook v1.3での変更点まとめ

はじめに 2020年4月8日、Rook v1.3がリリースされました。今回は新しいRookバージョンの変更点について、リリースノートを中心にまとめます。 We are excited to announce that the Rook v1.3 release is out! Check out all the improvements and as alway…

Rook-Ceph NFS Gatewayを利用する

はじめに Rookが管理するストレージサービスは複数存在し、そのひとつにNFSがあります。Rookではnfsservers.nfs.rook.ioというCRDを利用することで、Kubernetes上にNFSを用意し、アプリケーションから利用することができます。 ※参考リンク: Rook Docs - NF…

Japan Rook Meetup#2でLTをしてきました

はじめに 2020年3月27日に開催されたJapan Rook Meetup #2でLTで登壇し、External Clusterの利用について10分ほどお話しさせていただきました。 rook.connpass.com 今回の発表は初めての社外向け、初めてのオンラインでの発表という形式となり、上手くできる…

Rook-Ceph External Cluster ~Rook-Cephクラスター間でExternal Clusterを利用する~

はじめに Rook-Cephでは、自身のクラスター外にあるCephクラスターを利用する機能を提供しています。前回はVM上に構築したCephクラスターを利用する方法について紹介しましたが、今回はVM上でなく、Kubernetes上に構築したRook-Cephクラスターを、別のRook-C…

Rook-Ceph External Cluster ~VM上のCephクラスターをRookから利用する~

はじめに Rook-Cephは、外部にあるCephクラスターを利用する機能を提供しています。 今回は、Rook OperatorをデプロイしたKubernetesから、VM上に構築されたCeph Clusterを利用する方法を紹介します。 External Clusterとは Rookはストレージを利用するClien…

Rook-Cephのコンフィグ設定方法と設定例

はじめに Rook-Cephのクラスターや各リソースを作成したのち、Cephの設定を変更する方法が公式ドキュメントで紹介されています。設定の変更方法・及び変更例が紹介されていたので、ここにまとめておきます。 Rook-Cephコンフィグ設定変更方法 そもそもRook-C…

EdgeFS概要まとめ

はじめに 本投稿では、先日入門したEdgeFSについて、その概要をまとめたので紹介します。以前概要をまとめたCephとは異なり、EdgeFSはまだ利用例も少なく、情報がそれほど多くない状況です。また公式ドキュメントには内部構成などの情報が欠けており、都度別…