ラベル CICD の投稿を表示しています。 すべての投稿を表示
ラベル CICD の投稿を表示しています。 すべての投稿を表示

2022年1月24日月曜日

argoCD(github:自作マニュフェスト)

 以下、自作のnginxのマニュフェストをargoCD経由でデプロイしてみる。












githubのパスを” ./ “にする。





















以下、デプロイができていることが把握できる。







2021年9月5日日曜日

argoCD for Helm

以下に、argoCDでHelm経由でデプロイする方法について記載する。


手順:
1)argoCDにログインする

2)NEW APPを選択







1)以下の必要な箇所を入力する

■GENERAL

Application Name: mysql(適当なの名前)

Project: default


■SOURCE

Repository URL: https://charts.helm.sh/stable(今回は、公式のチャートを使用する)

Chart: mysqlを選択(クリックすると、導入したいミドルウェア類が表示されるので必要な物を選択するだけ)

バージョン:クリックして表示されたバージョンを選択


■DESTINATION

Cluster URL: https://kubernetes.default.svc

Namespace: defautl(導入先のNameSpaceを選択)




















以下、ミドルウェア類のパラメータの修正があれば変更すること

2)Createボタンを押す。



















デプロイが完了すると、以下の表示が出る。



2021年8月31日火曜日

argoCD(GitHub:プライベートリポジトリからデプロイ)


1)old配下に、nginxのマニュフェストを作成する。





2)ArgoCDにて、Settings > Repositoriesを選択

3)対象のレポジトリを選択して、Create Applicationを選択









4)以下を入力する

■GENERAL

Application Name  : 適当な名前

Project                    : default


■SOURCE

Repository URL     :対象のレポジトリURL

Path                         : old(マニュフェストが置いてあるフォルダ)


■DESTINATION

Cluster URL             :デフォルトで用意れている物を選択

Name Space           :デプロイ対象のNameSpaceを指定


5)Createを押す
























デプロイ後の様子。










PODが作成されることを確認(Lensの画面にて)













ArgoCD(github:プライベートリポジトリ追加方法)

公式:
https://argoproj.github.io/argo-cd/user-guide/private-repositories/#https-username-and-password-credential


1)Githubにて、アクセストークンを作成する。

公式(トークン作成方法)

https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token


2)argoCDにアクセスして、CONNECT REPO USING HTTPSを選択。





3)以下、入力する。

Repository URL:対象のレポジトリ

UserName      :GituhubのUserName

Password     :上記で、作成したトークンをコピー&ペーストする。



2021年8月30日月曜日

argoCD(サンプルを使ってデプロイを行ってみる)

参照先:
https://www.yukkuriikouze.com/2020/10/26/4026/
今回、上記サンプルのレポジトリを指定

1)NEW APPを選択






2)以下、入力を行う。

Application Name : 任意

Project                   : default


■Source

Repository URL:

https://github.com/argoproj/argocd-example-apps.git

Path:

guestbook


■DESTINATION

cluster URL:

https://kubernets.default.svc

Namespace:

default


上記、入力が出来たら、CREATEを押す。
















上記のサンプルでは成功

(Lensの画面にて)







argoCDの管理画面にて、状況確認

(デプロイ成功の様子)























実際に、アクセスしてみる。

(上記でデプロイした、ArgoCDのサンプルアプリ)





2021年1月11日月曜日

CircleCI x ECS

作業イメージ:

ローカル上でソースコードをGitHubにpushすると、CIrcleCIがそれをトリガーに

ECRにdockerfileをpushして、その後、ECSを更新する。

























[IAM]


CircleCI用のアカウントを作成する。








以下の権限を追加する











[ECS]


①クラスター名:

circleci-orbs-clusterという名称で、クラスターの作成名にする(任意で問題ない)














サービス名:

circleci-orbs-serviceというサービス名にする。












タスク定義:

circleci-orbs-taskという定義名にする












[ECR]

今回は、circleci-orbs-sampleという名称でECRにpushする















[GitHub]

レポジトリーの中身になる。


1)ディレクトリ構成について

.circleci

    |----config.yml  <-------------CircleCIの設定ファイル

dockerfile     <-------------------nginxのdocker file

index.html    <-------------------nginxのコンテンツファイル

nginx.conf    <-------------------nginxのコンフィグ類
















2)config.ymlについて


以下、config.ymlに記載した①②③について説明します。


①

ジョブ、コマンド、Executor などの構成要素をまとめた共有可能なパッケージということで

要は、以前のCIrcleCIでコマンド実行に関する記述をしていたのをOrbというパッケージを利用することで

いい感じに実行してくれる物


②

region :         AWSのリージョン名になる(CircleCIの環境変数に記載している)

account-url: ECRのアカウントURL名になる(CircleCIの環境変数に記載している)


例:以下の箇所がECRのアカウントURLを示す














repo:  ECRのリポジトリ名を示す(CircleCIの環境変数に記載している)












tag:            サンプル素材のconfig.ymlを真似しただけ。

dockerfile: dockerfileの所在をcircleci側で認識させるために記載する 

path:   dockerfileの所在をcircleci側で認識させるために記載する


上記を記載しないで、CIrcleCIで実行させると、Dockerの所在が分からないというエラーが出たので記載する。



③

family:               ECSのタスク定義名になる(CircleCIの環境変数に記載している)

cluster-name:   ECSのクラスタ名になる(CircleCIの環境変数に記載している)

service-name:  ECSのサービス名になる(CircleCIの環境変数に記載している)

container-image-name-updates: サンプル素材のconfig.ymlを真似しただけ。




[CircleCI]


Project Settings > Environment Variables

上記のconfig.ymlで記載した①②③は、以下の環境変数になる。




















実際に、ローカルにあるソースコードを編集などを行いgithubにpushすると

それをトリガーにCircleCI側で ECR/ECSで更新が行われる。

(成功すれば以下のような表示になる。)




CircleCIでのデプロイが完了後について:

ECSをみるとタスク定義名の数字(circleci-orbs-task:XX)が更新されていることを確認できる。















ECRも以下のリポジトリが更新されていることが確認できる。



























Lambda + SSM Run Commandで、数十台のEC2のuserdata結果を一括確認する

コードを1枚貼って、テストイベントを実行するだけで、 全台の確認結果が返ってくる手順です。 [ゴール] Nameタグが web-* / api-* / batch-* のEC2すべてに確認コマンドを流し、 NGの台だけ を結果に表示します。確認対象のuserdata(Ubu...