ry's Tech blog

Cloud Native技術などについて書いていきます。

Kubenews #31

2021-09-17

Kubernetes CI/CD pipelines: What, why, and how (click here to source)

このブログの対象読者

  • エンタープライズソフトウェアとの旅の始まりにいる開発者
  • 会社のアプリケーションに取り組んでいる経験豊富なソフトウェアエンジニア
  • チームの生産性を向上させようとしているエンジニアリングリード

CI / CDパイプラインとは何

CI / CDパイプラインは、コード開発から本番展開まで、ソフトウェアが通過する一連の段階と自動化されたステップです。

CIは「継続的インテグレーション」の略で、ソフトウェアビルドパイプラインを指します。

CIには、開発者がコードを記述してからチームテスト段階にプッシュするまでのすべての手順が含まれています。

CDはソフトウェアリリースパイプラインを指し、「継続的デリバリー」または「継続的展開」のいずれかを表すことができます。

CDとは、一連の環境にコードをデプロイすることにより、コードが目的の機能を提供することを検証することであり、ソフトウェアを実際に本番環境に展開する前に、ソフトウェアが最終的に実行される実際の本番環境を複製することを目的としています。

Kubernetes CI / CDのメリットは何?

CI / CDワークフローとクラウドネイティブシステムには、いくつかの共通の目標があります。

どちらも、開発速度の向上、ソフトウェア品質の最適化、および操作性の維持を試みます。

CI / CDは、コードが開発されてから本番環境にリリースされるまでの多くのステップを自動化し、Kubernetesは、さまざまなインフラストラクチャ環境でのコンテナのデプロイを自動化し、効率的なリソースの利用を保証します。

組み込みのコンテナレジストリが付属しており、次の3つの方法でKubernetesと統合できます。

How Docker broke in half (click here to source)

1. Dockerが誕生

「パリのSolomonHykesによって2008年にDotCloudとして設立されたDockerとなる会社は、当初、開発者がアプリケーションを簡単に構築して出荷するためのサービスとしてのプラットフォーム(PaaS)として設計されました。」

という始まりから、Dockerの初期について書かれています。

2. オープンソースの商業化は難しい

当時どういう考えを持っていたのかや、実際に商用製品を出してみての結果について書かれています。

3. Kubernetesの決定

DockerとKubernetesの立ち位置や、DockerとKubernetesのコラボレーションはうまくいかなかった話について書かれています。

4. 上部の緊張

以下の2つのDockerが生まれる話などがされています。

  • DockerCommunityEditionは、開発者向けの非常に人気のあるコマンドラインツールおよびオープンソースプロジェクト
  • Docker Enterprise Editionは、大規模なコンテナーを採用したい企業顧客向けの一連の商用ツール

5. Dockerが2つに分かれる

Dockerは2019年11月にビジネスのエンタープライズ部分をMirantisに売却し、DockerEnterpriseはMirantisKubernetesEngineに吸収された話が書かれています。

6. 今日のDockerはどこにある?

  • 先週、DockerはDockerソフトウェアのライセンス条項の変更を発表したよ
  • 新しい開発者ツール, 安全で検証済みのimageといった信頼できるコンテンツの構築などに「Docker2.0」の成長の機会を見出している。

など、今後の展望や考えについて書かれている。

Integrating Keycloak and Open Policy Agent (OPA) with Confluent (click here to source)

OAuth2認証にKeycloakを使用し、ConfluentKafka内のトピックレベルの承認にOpenPolicy Agent(OPA)を使用する方法について書かれています。