CPへ届け Kubernetesで利用するソースコードホスティング Gitea

★★★ Live配信告知 ★★★ぜひお申込みください!
◆◇世界一わかりみの深いクラウドネイティブ on Azure◆◇
7/7(木) 19:00~ 第15回:クラウド上でのライブ配信環境〜OBS on Azureで高速・堅牢なライブ配信環境を作る〜 今回は、クラウドなライブ配信環境の構築方法をお届けします。
◆◇PS Live◆◇
7/15(金) 17:00~ 第18回:アウトプットはイイぞ 〜サイオステクノロジーLT大会〜 エンジニア初級者向けから、個人ネタまで、エンジニア脳を体感できるプログラムです。

こんにちは、サイオステクノロジーの前田です。アプリケーションのソースコードをGitで管理されている方が増えてます。CI/CD環境を作成するとコンテナの利点を大きく受けられます。その時にソースコードをGitで管理することが多いです。GitHubを使用する方も多いとは思いますが、外部ではなく自環境で使用したい方もおられると思います。今回はkubernets環境に構築するGitソースコードホスティングソリューションの一つGiteaのについて記載していきます。

Giteaについて

Gitを利用したホスティングサービスとして有名なものはGitHubがあります。GiteaはGitHubに似ている画面となっております。下記に参考画像を表示します。GitHubを利用しているユーザならば、違和感なく使用できるものだと考えています。GiteaはMITライセンスのため商用利用時に無料で利用することができ、リソース消費が軽量であるため、ユーザーのサーバーリソースとコストのリソースに負担が少ないです。

サイト情報: Gitea

Helmについて

今回はHelmを利用してKubernetes環境に構築していきます。HelmはKubernetesのパッケージマネージャです。Helmを利用することによりKubernetesのたくさんのyamlの設定をしなくてすみます。そのため、Kubernetesに詳しくなくても簡単にデプロイすることが可能です。Helmを使用するためにHelm CLIが必要になります。下記リンクを参考にインストールしてください。

参考サイト: Helmのインストール

Gitea構築概要

Giteaを構築する方法として、いくつかの方法があります。今回はHelmを利用して構築します。

Helmレポジトリから情報を取得しKubernetesクラスターへデプロイします。デプロイするときの注意点として、OKDは生Kubernetesよりセキュリティが高いので少し設定を追加した状態でデプロイします。そしてHelmのデプロイには外部アクセス設定がないため、外部からアクセスできるようにルートを作成しURLでアクセス可能な状態にします。作成したURL情報をGiteaに反映するためにHelmの設定を変更してアップグレードします。

デプロイした後の状態を下記に表示します。

  • 環境情報

    • Kubenetes基盤: OKD v4.10
    • プラットフォーム基盤: AWS
    • クライアントツール:  Helm
  • 詳細構築

    • Helmレポジトリ設定
    • OKDプロジェクト作成
      • SCC設定
    • Giteaデプロイ
      • Helmインストール
    • 外部アクセス設定
      • ルート設定
      • Gitea管理者ユーザ設定
    • Giteaドメイン修正

Gitea構築詳細

■1 Helmレポジトリ設定

Helmレポジトリの登録をします。

■2 OKDプロジェクト作成

アプリケーションをデプロイするプロジェクトを作成します。

SCC(セキュリティコンテキスト制約)設定をします。

■3 Giteaデプロイ

Helmを利用してデプロイします。

デプロイ結果(デプロイが完了するまで下記表示後に数分かかる場合があります)

■4 外部アクセス設定

3の結果に表示は自端末とKubernetes環境を直接つなぐ方法になります。OKDはルートのリソースがあります。ルートを設定して外部公開します。下記に2パターンの公開方法を記載します。どちらかのルート設定を選択して設定してください。

ルート設定A(http)

ルート設定B (https)

ルート情報の確認

ルート情報の結果確認

■Gitea管理者ユーザ作成

Giteaの管理者ユーザを作成するために、GiteaのPodにアクセスを行い、CLI操作で管理者ユーザを作成します。

Giteaのポッド内部にアクセス

gitea コマンドが実行できるユーザに変更します。

giteaのユーザ(myname),パスワード(asecurepassword),メールアドレス(test@test.test)の情報で作成します

■5 Giteaドメイン修正

ルート情報のURLにアクセスしてGiteaのコンソールにアクセスします。

サインインします。

新規リポジトリを作成するために、新しいリポジトリ を選択します。

リポジトリ名 に名称を入力して、リポジトリの初期設定 のチェックボックスを選択し、その後 リポジトリを作成 を押下します。

リポジトリが作成されます。リポジトリのURLが「git.example.com」になっているためHelmの設定を更新します。

Helmの設定情報を取得します。

ドメイン名を変更します。

アップグレードします。

再度ログインしてGitリポジトリのURLがルートのドメイン名と同じであることを確認します。

 

■6正常性確認

リポジトリの 新規ファイルを選択します。

ファイル名を index.htlm と入力して、ファイルの中身に Hello Git World と入力してください。 その後、変更をコミット を選択してください。

リポジトリが更新されて index.html が表示されます。

最後に

Giteaを使用することで、ソースコードの管理やイシューの管理、wiki等が使用できるようになります。そのため、生のkubernetseの状態よりコンテナの利点を生かせるコンテナプラットフォーム(CP)に近づきました。OKDはGiteaとカタログを利用することで、簡単な初期デプロイと更新デプロイが驚くほど簡単に行えます。Kubernets環境でのデプロイは以前より簡単にはなりましたが、まだまだ専門知識が多く必要です。Kubernetesのデプロイは大変ですが、本記事が読まれている方の不明点の解消の一つになれたら幸いです。





ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!


ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

Be the first to comment

Leave a Reply

Your email address will not be published.


*