
-
Kubernetesマニフェスト作成 - バッチアプリケーション
前回は、ローカル環境のKubernetesでタスク管理ツールのWebアプリケーションを動かすことができました。 今回は日次でタスク完了レポートを出力するバッチアプリケーションを作成してみましょう。 Kubernetesを利用する主なメリットとして、セルフヒーリングによる耐障害性強化や、大規模トラフィックに耐えられるスケーラビリティが得られる等の印象が強いかと思います...
記事を読む -
eleventy-plugin-code-clipboard
eleventy-plugin-code-clipboardは、静的サイトジェネレータツールの1つであるeleventy(以下11ty)のカスタムプラグインです。 このプラグインは、マークダウンのコードブロックで生成されたものに対して、クリップボードコピー機能を提供するもので、本サイトでも使用されています。 プラグインは以下の2つの機能で構成されます...
記事を読む -
Kubernetesマニフェスト作成 - Webアプリケーション
ここまででローカル環境で開発する準備が整いました。 ここからは、実際に動くアプリケーションをローカル環境にデプロイしましょう。 このチュートリアルでは、一般的によくあるであろうシンプルなWebアプリケーションとバッチアプリケーションを例に見ていきます。 題材としてはタスク管理ツールとします。このツールの機能としては以下になります...
記事を読む -
ローカル開発環境準備 - ローカルAWS(LocalStack)
これまでローカルでKubernetesを実行する環境としてminikube、開発からデプロイまでを自動化するツールとしてSkaffoldを導入し、いよいよ開発が始められる準備が整ってきました。 最後にアプリケーションが外部プロダクトに依存する場合を考えてみましょう。 一般的にアプリケーションはそれのみで完結することはほとんどなく、DBやキャッシュ等他のプロダクトを利用することが大半です...
記事を読む -
ローカル開発環境準備 - 実行環境(minikube)
それではここからはアプリケーションの開発編に入っていきましょう。 チームでKubernetesで動作するアプリケーションを開発する場合に、どうやって各開発者がコンテナ環境で動作するアプリケーションを実装・テストすればよいでしょうか? クラウド上に各個人のクラスタ環境を準備するのが理想的ですが、コスト的に難しいというのが一般的かと思います...
記事を読む -
ローカル開発環境準備 - 自動化ツール(Skaffold)
前回は、minikubeを使ってローカル環境内でコンテナアプリケーションを実行する環境を整えました...
記事を読む -
ストレージ - AWS EFS
前回はAWS EBSを使ってコンテナにストレージをマウントすることで、Podの再起動時にもデータを消失することなく継続して利用することができました。 今回はNFSプロトコルを利用する共有ファイルストレージサービスであるAWS EFSを使って複数Pod間でのファイル共有を実現します...
記事を読む -
ストレージ - AWS EBS
これまでAWS EKS上でk8sクラスタ環境の構築を行い、Ingress Controllerを導入することでインターネットからのリクエストを受け付けられるようにしました。 ただ、アプリについては固定レスポンスを返すだけで実践的なものではありませんでした。 そこで今回は、データ保存を行うアプリを考えてみましょう...
記事を読む -
Ingress - HTTPS通信(Cert Manager)
今回は、IngressにTLS証明書をセットアップし、セキュアに外部と通信できるようにしましょう。 ゼロトラストネットワークの考え方が普及し、今や開発・テスト環境でも通信のTLS化が当たり前の時代になりました(もちろん暗号化は通信だけではだめですが)。 そこで課題となるのが、暗号化で利用する証明書の管理です。証明書の有効期限切れによる通信障害のニュースもよく耳にします...
記事を読む -
Ingress - カスタムドメイン管理(external-dns)
前回までは、Ingressに登録したホスト名をHostヘッダを直接指定することで、DNSで名前解決がされた体で確認ました。 当然ですが、実運用でこのようなことをすることはなく、DNSサーバにIngressとのマッピングを追加する必要があります。 これを手動で実施すると、Ingressに新しいホストを追加する度に別途DNSで作業する必要が出てきます...
記事を読む