DevOps
はじめに GitlabとはGitHubライクのGitリポジトリで自前でGit環境を用意する際に利用できるソフトウェアです。 公式サイトにはサーバやKubernetesに展開する手順が書かれていますが、Openshiftでは手順が存在しなかったので今回はOpenshift環境にデプロイし…
やりたいこと Pipeline内に記載されているTaskを抽出してGUI上に可視化する。 尚、可視化にはR言語のgrVizを利用。 環境情報 tektoncd:v0.14.2 R.version:4.1.0 やり方 以下のスクリプトを実行すると #!/bin/bash kubectl get pipeline -n xx | grep -v NAME…
はじめに OpenShiftをインストールした時点で監視を担うPrometheusがopenshift-monitoringネームスペースにデプロイされており、同Prometheusのデータを可視化するGrafanaもデフォルトでインストールされています。 $ oc get deployment -n openshift-monito…
はじめに TektonではEventlistener用のPodにリクエストを送ることでTriggerTemplatesをベースにしたPipelineを起動することが可能です。 CICDをキックする方法にGithubへのpushなどはありますが、今回は最もシンプルにEventListenersにcurlコマンドを直接送…
はじめに Tektonのサンプルプログラムを動かせばTrigger経由でPipelineが起動できますが、TriggerTemplateの記載方法などが分かりにくいです。本記事では初学者の方向けに、PipelineをPilelineRunで起動できた後に、同PiplelineをEventListener経由で起動す…
事象 Pod(TektonTrigger)を起動した際に以下ログが出力して権限エラーのリスタートが起きている。 $ kubectl get pod NAME READY STATUS RESTARTS AGE tt-test-664dcbd49d-jd2wx 0/1 Running 3 Xs尚Podのログを確認するとServiceAccountに付与している権限…
事象 DockerBuildを行うTaskを実行するも /tekton/tools/entrypointのGithubからfetch処理を行う箇所で失敗し、以下のエラーが出力される。 {"level":"error","ts":1625897499.5278947,"caller":"git/git.go:54","msg":"Error running git [fetch --recurse-…
事象 git pull後に以下コマンドでgit fetchでリモートリポジトリの情報取得に行くも $ git fetch --recurse-submodules=yes --depth=1 origin --force master以下のエラーとなる。 fatal: couldn't find remote ref master 環境情報 $ git --version git ver…
やりたいこと OpenshiftのOperatrHubよりインストールしたGrafanaへのログイン情報を確認したい。 環境情報 image: quay.io/integreatly/grafana-operator:v3.10.2 確認方法 以下のコンフィグマップの中の $ oc get cm NAME DATA AGE grafana-config 1 ...se…
やりたいこと Openshiftにデフォルトで導入されているPrometheusに対して固有アプリのServiceMonitorからポーリングする際のデータをTLSで暗号化したい。 環境情報 $ oc get prometheus --all-namespaces NAMESPACE NAME VERSION REPLICAS AGE openshift-mon…
はじめに Tektonのサンプルコードとして提供される以下のコードを実際に動かし、ログを見ることで内部の動きを調査しました。 apiVersion: tekton.dev/v1alpha1 kind: Task metadata: name: deploy-application spec: inputs: resources: - name: git-source…
はじめに IBM CloudではIBM Cloud Monitoring with Sysdigの機能の中で「Sysdig Secure on IBM Cloud」が利用でき、コンプライアンスの問題を確認するだけでなくネットワークセキュリティに関する情報を可視化することも可能です。本記事ではOpenshift/Kuber…
やりたいこと Podを起動するもログに Permission deniedと表示されるため、特権ユーザで起動したい。 環境情報 $ ibmcloud oc cluster ls ... OK 名前 ID 状態 作成日 ワーカー ロケーション バージョン リソース・グループ名 プロバイダー X ... normal .. …
はじめに OpenShiftではデフォルトで展開されているテンプレートの他に自分のプロジェクトにテンプレートを配置することができます。 本記事ではRocket.ChatをOpenshiftに構築する公式手順を参考に、テンプレートからリソースを生成する流れについて記載しま…
はじめに IBM CloudではIBM Cloud Monitoring with Sysdigの機能の中で「Sysdig Secure on IBM Cloud」が利用でき、コンプライアンスの問題を確認するだけでなくネットワークセキュリティに関する情報を可視化することも可能です。本記事では既に同サービス…
はじめに IBM CloudのIKSに対してSysdigを導入することで簡単に監視環境を実装できます。 本記事ではブラウザ上からSysdigのインスタンスを作成し、Kuberneteクラスターに対するエージェントの導入をコマンドラインから実施しました。 環境情報 $ ibmcloud v…
はじめに Tektonのサンプルコードとして提供される以下のコードを実際に動かし、ログを見ることで内部の動きを調査しました。 apiVersion: tekton.dev/v1alpha1 kind: Task metadata: name: build-image-from-source spec: inputs: resources: - name: git-s…
はじめに OpenShiftではOpenshift Webコンソールという高機能なGUIが提供されています。 それを利用することで、マウス操作にてリソースの生成や確認、そしてOperatorのインストールが行えます。本記事ではマウス操作でPrometheusOperatorをインストールする…
はじめに システムコールやKubernetes監査イベントをキャプチャし、クラスタやアプリケーションへの不正な操作を検出するツールに「Falco」があります。本記事ではKubernetesクラスターに同ツールをインストールし、実際にアクティビティのログを確認しまし…
はじめに PrometheusではExporterと呼ばれるオブジェクトが監視対象からリソースを取得することでデータを一元的に管理することができます。本記事ではNginxを例にExporterを準備し、PrometheusからNginxのリソースを確認する流れについて記載しました。 尚P…
はじめに Prometheus(プロメテウス)はメトリクスの監視を行うモニタリングツールで、Kubernetesクラスタの監視においてもCNCFのプロジェクトとして採用されています。本記事ではKubernetesクラスターのWorkerNodeのCPU情報をPrometheusを通じてグラフ化し…
はじめに オンプレミス(非クラウド)のシステムをそのままクラウドに乗せる流れをリフト(Lift)、アーキテクチャの変更を加える流れをシフト(Shift)と言ったりしますが本記事ではその流れを参考程度に解説しました。尚、シフトとリフトの意味は以下。 コ…
はじめに サービスアカウントにSCC (SECURITY CONTEXT CONSTRAINTS)を付与し、そのサービスアカウントをPodに紐付けることでPodの権限を変えることができます。具体的にはサービスアカウントを作成後、以下構文でSCCとServiceAccountを指定して紐付けます…
はじめに KubernetesでもPVCはありますが、以下のようにPod側のYAMLにて宣言型で利用するのが一般的です。 一方でOpenshiftでは手続き型のように$ oc set volume object_selection operation mandatory_parameters optional_parametersという構文でボリュー…
事象 Podの起動に失敗していてoc get eventを見ると「Failed to pull image」としてエラーが出ている。 $ oc get event LAST SEEN TYPE REASON OBJECT MESSAGE ..Normal Scheduled pod/hoge-69676884f8-ssfk9 Successfully assigned xx/hoge-69676884f8-ssfk…
はじめに Tektonの公式ドキュメントにある「Documentation / Dashboard」をKubernetes環境で実施(Tutorial)した結果をメモ。 Kubernetes環境はIBM Kubernetes Serviceを利用し、ダッシュボードをブラウザで開く端末はWindowsを利用しました。 環境情報 tek…
はじめに Tektonの公式ドキュメントにある「Documentation / Getting Started with Pipelines」をKubernetes環境で実施(Tutorial)した結果をメモ。 Kubernetes環境はIBM Kubernetes Serviceを利用しました。以下の続きで実施しています。 環境情報 tekton:…
はじめに Tektonの公式ドキュメントにある「Documentation / Getting Started」をKubernetes環境で実施(Tutorial)した結果をメモ。 Kubernetes環境はIBM Kubernetes Serviceを利用しました。尚、本記事は「echo "Hello World!"」とだけ標準出力するTaskをT…
はじめに HelmとはKubernetes上にてリソース定義群をパッケージとして管理するツールですが、本記事ではWindows環境(Cygwin)にてパッケージを利用したデプロイを実施する流れについて初学者向けに分かりやすく記載しました。 環境情報 kubectl : v1.19.3. …
はじめに Kustomizeはkustomizationファイルと呼ばれるYAMLを用いてKubernetesリソースを管理する方法で、共通化部分のYAMLをbaseディレクトリ、そこからの差分をpatchとして管理することでYAMLの冗長な部分をカットして扱うことができます。本記事では実際…