LoginSignup
0
0

More than 3 years have passed since last update.

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

Posted at

先日、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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0