Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9069

Tektonを使ってAppsodyで作ったNodejsアプリケーションをK8sにデプロイする。(Tekton準備編)

$
0
0

先日、Appsodyを使ってNode.jsモジュールをK8sに簡単にデプロイする方法を記事にしました。

この記事ではさらに踏み込んで、作成したNode.jsモジュールをTektonを使ってK8sにデプロイするCI/CDパイプラインを作ってみましょう!
まず、この記事では以下の環境にTektonを準備するところから始めます。
※前回と同様に環境はmac。docker for macでKubernetesが有効であることが前提です。

What's Tekton?

ざっくりいうと、Kubernetes上で稼働するクラウドネイティブなCI/CDパイプラインとなります。
代表的な使い方は、Githubからソースコードを取得して、それを自動的にKubernetesへデプロイする、というところでしょうか。
詳細は本筋とは逸れるのであまり触れませんが、Githubのリポジトリを参照してください。
Tekton

ここからが本題

さて、実際Kubernetesで運用することを考えたときに、毎回、ソースコードをどこからかコピーしてきて

appsody deploy

を叩くのは、あまり現実的ではありませんよね?
そこで、上記で書いたTektonの出番です。

まずはTektonを導入する

はじめに
以下の記事は
https://www.skyarch.net/blog/?cat=518
→こちらを参考にさせて頂きました。ありがとうございます。

Tektonのインストール

$ kubectl apply --filename https://storage.googleapis.com/tekton-releases/latest/release.yaml

下記のコマンドを打つことで、Tektonがインストールされたことを確認できます。

$ kubectl get pods --namespace tekton-pipelines
NAME                                           READY   STATUS              RESTARTS   AGE
tekton-pipelines-controller-5888756f5c-8jdhz   0/1     ContainerCreating   0          8s
tekton-pipelines-webhook-7494f6f84b-644nn      1/1     Running             0          8s

Tekton Dashboadを導入する

ただ、Tektonをインストールしただけでは、実際にKubernetesでのデプロイ結果を確認することが難しいです。ログなどを確認できるようにTekton Dashboadを導入しましょう。

はじめにTekton DashboardのソースをGit Hubからクローンします。

$ git clone https://github.com/tektoncd/dashboard.git

下記のコマンドでTekton Dashboardのインストールは完了です。

$ kubectl apply -f dashboard/config/release/gcr-tekton-dashboard.yaml
serviceaccount/tekton-dashboard created
customresourcedefinition.apiextensions.k8s.io/extensions.dashboard.tekton.dev created
clusterrole.rbac.authorization.k8s.io/tekton-dashboard-minimal created
clusterrolebinding.rbac.authorization.k8s.io/tekton-dashboard-minimal created
deployment.apps/tekton-dashboard created
service/tekton-dashboard created
pipeline.tekton.dev/pipeline0 created
task.tekton.dev/pipeline0-task created

下記のport-forwardコマンドを実行後、http://localhost:9097でダッシュボードにアクセスしてみましょう。

$ kubectl --namespace tekton-pipelines port-forward svc/tekton-dashboard 9097:9097

下記の画面が表示されたら準備は完了です。
スクリーンショット 2020-01-24 8.56.53.png


Viewing all articles
Browse latest Browse all 9069

Latest Images

Trending Articles