サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
techstep.hatenablog.com
今回はArgoCDでマルチテナント向けに利用できる Project という機能について整理しようと思います。 ここ最近のArgoCDのアップデートにもProjectに関するものが含まれていたので、そちらも試しています。 Projectとは Projectの基本的な使い方 ローカルユーザーの作成 Projectの作成 RBACの設定 アクセスのテスト Projectに関連する機能 Orphaned Resource Monitoring Global Project Project scoped Repositories & Clusters その他 Projectとは ArgoCDでは、Applicationというカスタムリソースの中にGitリポジトリやデプロイ先のクラスター・Namespaceなどの情報を設定します。Projectは、このApplicationを論理的にグループ分けするカ
今回はArgoCD CoreというArgoCDの新たなディストリビューションを動かしてみました。 ArgoCD Coreとは ArgoCD Coreを動かす 感想 参考リンク ArgoCD Coreとは ArgoCD Coreは ArgoCDの ver 2.1で導入された、ArgoCD distributionになります。ArgoCDはデフォルトだとSSO / RBAC / ユーザー管理などの機能を搭載しており、1つのArgoCDインスタンスを複数のチームが利用できる、マルチテナントをサポートしています。 一方でArgoCDを利用するユーザーの中には、マルチテナントをサポートする機能が不要であり、ArgoCDの提供するGitOps的な機能だけを使いたい人も大勢います。そういったユーザー向けに登場したのがArgoCD Coreです。 ArgoCD Coreでは、デフォルトのArgoCDディス
はじめに 本記事ではGitOps CDツールの一つであるArgoCDの概要と利用方法について紹介いたします。 ArgoCDとは ArgoCDはKubernetesクラスター向けのContinuous Deliveryを実現するツールです。ArgoCDでは、Kubernetesマニフェストファイルが格納されたGitHub / Helmリポジトリを監視し、リポジトリ上で変更が発生したらその差分を検出して、Kubernetesクラスターに反映します。 GitOpsとは ArgoCDは、いわゆるGitOpsを実現するツールとして注目されています。GitOpsとは、以下のような特徴を備えたContinuous Deliveryの手法です。 GitをSingle Source of Truth(信頼できる唯一の情報源)として扱い、バージョン管理や変更履歴、ピアレビュー、ロールバックなどを、kubect
今回はメッセージングシステムの一つであるNATSを試してみました。 NATSとは 分散システムにおけるアプリケーションとサービス間のコミュニケーションは複雑で理解が難しいものとなります。現代のメッセージングシステムは複数のコミュニケーションパターンをサポートする必要があり、それに加えてセキュリティ・マルチテナンシー・拡張性など多様な要素も求められています。 NATSはこれらの要求を満たすために開発されたソフトウェアで、以下のような特徴を備えています。なおNATSはNeural Automatic Transport Systemの略称です。 複数のメッセージングパターンのサポート NATSはSubjectをベースとしたメッセージングシステムで、PublisherがSubjectに対してメッセージを送信し、Subjectと紐づくSubscriberへメッセージを転送します。Subjectは、
先日ArgoCDを利用してみましたが、今回は同じArgo Projectの中からArgo Rolloutsを試してみました。Argo Rolloutsを利用することで、より高度なデプロイ・リリースを実現することができます。 リリース方式の違いと特徴について Argo Rolloutsを利用する前に、Kubernetes上で利用することの多いデリバリー/リリース方式について整理しておきます。なお、記載に当たり、以下のドキュメントを参照いたしました。 ※参考ドキュメント: 書籍 - 継続的デリバリー ~信頼できるソフトウエアリリースのためのビルド・テスト・デプロイメントの自動化~ Search ITOperations - When to use canary vs.blue/green vs. rolling deployment RedHat Openshift Doc - Advance
今回はService Meshについて概要を調べ、Service Meshを提供するプロダクトの一つであるIstioに触れてみました。 Service Meshとは マイクロサービスの課題 Service Meshを考えるうえでまず必要になるのが、マイクロサービスアーキテクチャの抱えるいくつかの課題です。 マイクロサービスを導入・構築するうえでの課題として、ネットワークに関連する事項が挙げられます。マイクロサービスはお互いネットワークを通じて連携するため、ネットワークに関する機能(Load Balancing、Traffic Routingなど)を実装する必要があります。また、アプリケーションを構成するマイクロサービスの数が多くなるほど、マイクロサービス間の接続数は増加し、通信断の発生する確率やパフォーマンス低下など、ネットワーク関連の問題が発生する可能性も増加します。 これまで複数のグロ
はじめに 今回は、Argo CDと組み合わせて利用することのできる通知ツールの一つ、Argo CD Notificationsについて、概要と利用方法を紹介します。 Argo CD Notificationsとは Argo CD Notificationsは、Argo CDのリソースを監視し、実行結果に応じてメール・Slackなどで通知してくれるプロダクトです。Triggerによって通知を送る契機やタイミングを指定、Templateによって通知する内容やフォーマットを指定することが可能です。また、Argo CD Notificationsが監視対象とするのはApplication AppProjectで、対象のリソースに対してAnnotationを付与することで監視対象とすることができます。 他の通知ツールとの比較 Argo CDのNotificationページには、Argo CD Not
はじめに Docker、Kubernetesをはじめとするコンテナ技術が普及するにつれ、現行でVirtual Machine(VM)が稼働している環境からコンテナへの移行を、どうやって実現するかが課題になってきました。 例えば、リフト&シフトなどの方法で基盤を移行させることを検討する際、VMとコンテナが共通基盤上にあるほうが、移行はやりやすくなるだろうと考えられました。 Kubevirtはそんなソリューションを提供するツールの一つになります。 今回はKubevirtについて簡単に紹介し、新しくリリースされたv0.21.0で利用可能となったvirtctl migrateコマンドを試してみました。 結論 KubevirtはVMとコンテナをKubernetes基盤上で共通管理するツールである。 v0.21.0よりvirtctl migrateコマンドが利用可能になり、VMのライブマイグレーション
はじめに 本記事では、Kubernetesで実現するマルチテナントについて、2020年9月時点での現状と、将来的に利用できるであろう機能の紹介をいたします。各機能についての詳細は、参考ドキュメント等を参照していただければと思います。 本記事の要点 マルチテナントは単一のクラスター上に複数のテナントを共存させることを指す。 Kubernetesにはマルチテナントを実現するための機能が備わっている。 アクセスコントロール:RBAC セキュリティ:Namespace / Network Policy / Pod Security Policy リソースの隔離:ResourceQuota / LimitRange / Affinity / Taintなど Kubernetesのマルチテナント機能は、SIGを中心として機能開発が進められている。 Benchmarks Tenant Controlle
はじめに kubernetes上で利用するパッケージ管理ツールにHelmがあります。HelmではChartというパッケージ単位でkubernetesのマニフェストを管理し、大量のマニフェストファイルの管理を手助けします。 Helm ver.2まではクライアントサイドのhelm とサーバーサイドのTillerという2つのコンポーネントで構成されていましたが、ver.3からTillerが削除されるという大きな変更が行われました。 今回は新しく発表されたver.3のHelmを簡単に動かしてみます。 Helmとは Helmはkubernetesマニフェストファイルを管理するパッケージ管理ツールです。kubernetesではマニフェストと呼ばれるファイルを利用してリソースをデプロイすることが多いですが、リソースが増えるにつれて管理する対象のマニフェストファイルも増加し、次第にそれらを管理するのが難し
はじめに 昨年、Kubernetes上でCloud Native Storageを実現するRookについて調査しました。Rookは複数のストレージソフトウェアを統合しますが、最もよく使われるものがCephです。Rookについて調査・検証をするうちに、そもそもCephの動きを理解していない中でRookの理解を進めることが難しいと感じていたので、Cephについて調査しました。Cephは10年以上前に登場したストレージシステムのため、様々な書籍や記事でその機能や裏側の動きが紹介されています。今回はそれらの記事や論文、公式ドキュメントを眺めたうえでまとめ、自身のCephへの理解を深める第一歩として公開しました。誤った理解や記載がある場合は、ご連絡いただければ幸いです。 Cephとは オープンソースな統合的ストレージシステム オブジェクトストレージ・ブロックストレージ・ファイルストレージを提供 高信
はじめに Kubernetesクラスターをオンプレやクラウド上の仮想マシンの上に構築する場合、Kubernetes The Hard Wayのようにイチから全てを構築するか、構築用のツールを利用する方法があります。Kubernetesクラスターを構築するツールは複数存在し、代表的なものとしては以下のようなものがあります。 Kubeadm: Kubernetesが公式で提供するツール。 Kops: Kubernetes Operations。現在はAWSを公式にサポートするツール。 Rancher: Rancher Labsの提供するマルチクラスター構成ツール。 Kubespray: Ansibleを利用してKubernetesクラスターを構築する。 このうち今回紹介するのはKubesprayになります。 KubesprayはAnsibleを利用するクラスター構築ツールです。Ansibleは
はじめに Kubernetes上でストレージを管理するツールにRookがあります。RookはCloud Native Storageを実現するツールの一つとして、CNCF IncubatingのステータスにあるOSSです。しかし、私は「そもそもCloud Native Storageって何?」というところから出発したため、そもそもCloud Native Storageとは何かから始め、Rookはそれをどう実現するか、Rookで何ができるか、Rookの下で主に利用するCephとは何か、などを調べましたので、今回はその辺について紹介いたします。 Cloud Native Storageとは CNCF より そもそもCloud Native Storageとは何か、CNCFで公開している以下のページで紹介されています。 CNCF - Introduction to Cloud Native S
はじめに 2019年2月26日、Rancher社からKubernetesの軽量版であるk3sが発表されました。 詳細についてはこちらの記事をご確認ください。 すでにラズパイ上に構築した方もいらっしゃるようですが、ひとまずCentOS7上にserver、agentを構築し、nginxをデプロイしてcurlが返ってくるまでをやってみました。 構築環境 OS: CentOS7 サーバ:AWSのインスタンス(t2.medium) 今回はserver、agentそれぞれ1台ずつ構築しました。 Server構築手順 構築手順は公式ページにあるようにやっただけです。以下のコマンドを実行することでインストール・起動までが完了します。 curl -sfL https://get.k3s.io | sh - 以下のようにログが表示されます。 [root@ip-10-0-0-160 ~]# curl -sfL
このページを最初にブックマークしてみませんか?
『techstep.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く