(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

DevOps-Tekton

【Tekton/R言語】PipelineとTaskの関係をgrVizで可視化する

やりたいこと Pipeline内に記載されているTaskを抽出してGUI上に可視化する。 尚、可視化にはR言語のgrVizを利用。 環境情報 tektoncd:v0.14.2 R.version:4.1.0 やり方 以下のスクリプトを実行すると #!/bin/bash kubectl get pipeline -n xx | grep -v NAME…

【Tekton/Kubernetes】curlコマンドをEventListenersに送ってPipelineをキックする

はじめに TektonではEventlistener用のPodにリクエストを送ることでTriggerTemplatesをベースにしたPipelineを起動することが可能です。 CICDをキックする方法にGithubへのpushなどはありますが、今回は最もシンプルにEventListenersにcurlコマンドを直接送…

【Tekton/Kubernetes】TriggerTemplateとTriggerBindingをカスタマイズする際の考え方

はじめに Tektonのサンプルプログラムを動かせばTrigger経由でPipelineが起動できますが、TriggerTemplateの記載方法などが分かりにくいです。本記事では初学者の方向けに、PipelineをPilelineRunで起動できた後に、同PiplelineをEventListener経由で起動す…

【Tekton/Kubernetes】PipelineResourceで指定したGithubからcouldn't find remote refとなるエラー

事象 DockerBuildを行うTaskを実行するも /tekton/tools/entrypointのGithubからfetch処理を行う箇所で失敗し、以下のエラーが出力される。 {"level":"error","ts":1625897499.5278947,"caller":"git/git.go:54","msg":"Error running git [fetch --recurse-…

【Tekton/Kubernetes】デプロイメントを作成する"deploy-application"を読み解く

はじめに Tektonのサンプルコードとして提供される以下のコードを実際に動かし、ログを見ることで内部の動きを調査しました。 apiVersion: tekton.dev/v1alpha1 kind: Task metadata: name: deploy-application spec: inputs: resources: - name: git-source…

【Tekton/Kubernetes】Gitからコードを取得してビルドする"build-image-from-source"を読み解く

はじめに Tektonのサンプルコードとして提供される以下のコードを実際に動かし、ログを見ることで内部の動きを調査しました。 apiVersion: tekton.dev/v1alpha1 kind: Task metadata: name: build-image-from-source spec: inputs: resources: - name: git-s…

【Tekton/Kubernetes】TektonDashboardを利用する流れのチュートリアル

はじめに Tektonの公式ドキュメントにある「Documentation / Dashboard」をKubernetes環境で実施(Tutorial)した結果をメモ。 Kubernetes環境はIBM Kubernetes Serviceを利用し、ダッシュボードをブラウザで開く端末はWindowsを利用しました。 環境情報 tek…

【Tekton/Kubernetes】PipelineRunでPipelineを実行する流れのチュートリアル

はじめに Tektonの公式ドキュメントにある「Documentation / Getting Started with Pipelines」をKubernetes環境で実施(Tutorial)した結果をメモ。 Kubernetes環境はIBM Kubernetes Serviceを利用しました。以下の続きで実施しています。 環境情報 tekton:…

【Tekton/Kubernetes】TaskRunでTaskを実行する流れのチュートリアル

はじめに Tektonの公式ドキュメントにある「Documentation / Getting Started」をKubernetes環境で実施(Tutorial)した結果をメモ。 Kubernetes環境はIBM Kubernetes Serviceを利用しました。尚、本記事は「echo "Hello World!"」とだけ標準出力するTaskをT…

【Tekton/Kubernetes】kubectlを用いたPipelineRun失敗時のログの見方

はじめに Tektonを利用したCI/CDの中でPipelineが失敗した際に詳細メッセージを確認する流れを記載しました。 $ kubectl get pipelineruns NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME test-pipeline-run False Failed 100s 92s 環境情報 Windows 10 Cy…

【Tekton/Kubernetes】コンテナからK8sに対してkubectlを打つTaskの例

はじめに Tektonを利用したCI/CDの中でDockerDesktopのKubernetesクラスターにkubectlコマンドを打つTaskを生成しました。 以下記事のkubectlバージョンとなりますが、動くことを優先して権限分離を考慮していないので参考程度に利用ください。 環境情報 Win…

【Tekton/Kubernetes】dockerbuildでimageを生成するTaskの例

はじめに Tektonを利用したCI/CDの中でコンテナイメージは/kaniko/executorを利用している例が多かったので、自学のためにあえてkanikoを利用せずにdocker buildしてみました。ちなみに、KanikoはDockerコンテナ内でDockerイメージをビルドできるツールなの…

【Tekton/Kubernetes】Taskを初回実行する際の注意点

事象 オフライン環境で初めてTaskを起動するとPending状態となる。 $ kubectl get taskrun NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME taskrun-hello Unknown Pending 3m46s具体的にはPodの初期化で止まっている。 $ kubectl get pod NAME READY STATU…