インフラ系SEの技術メモ

雑なエンジニアが低信頼性のメモを書いています。参考程度にとどめてください。

DevOps

(Docker/コンテナ)Daggerってなに?

Dagger? Dangerに似ていますが、Dagger。読み方は ダガー で英語として「短剣」という意味もあります。 しかしIT用語ではCI/CDを補助するツールのようなもの。語源もDAG (Directed Acyclic Graph)から来ている模様。 何が嬉しい? 開発者いわく「A Portable …

(CICDツール)Spinnakerとは?

スピネーカー) CDツールで、元はNetflixが開発したツールでWebブラウザ経由で操作可能。 Spinnakerでは「application(アプリケーション)」という単位でパイプラインを管理し、Tektonなどでやるようなコンテナイメージのプッシュをトリガーにしてそこから自…

(Dockerfile)CMDとENTRYPOINTの一番の違いは上書きできるか否か

コンテナで実行するコマンドを決める構文 DockerfileではCMDとENTRYPOINTがあり、構文が微妙に違うけどそもそも何が違うの?という話を整理しました。まずポイントとして1つのDockerfileにCMDとENTRYPOINTは1度のみ。CMDとENTRYPOINTの併用はOK。 要はCMDを…

TektonのCICDチュートリアルが分かりやすいのでお勧め

いいね Tektonを利用したKubernetes環境におけるCI/CDですが、以下にチュートリアルの記事がありました。Tekton Pipelines を使用して Hello World アプリケーションを作成し、Kubernetes 上にデプロイする 試しにそのままやりましたが、CICDをさくっと実現…

JenkinsとTektonの違いを調べていて分かったこと

CI/CDでよく聞く2つのツール まずは概要の抜粋を見ていきます。以下はJenkins。 Jenkins(ジェンキンス)はフリーでオープンソースの自動化サーバー ソフトウェア開発のビルド 、 テスト 、およびデプロイに関連する部分の自動化を支援 Apache Tomcatなどの…

Kubernetesのcordonとdrainの違いとは?

要するに 現在動いているPodを停止させるのがdrainで停止させないのがcordon です。どちらもノードをスケジュールによるPod展開先から切り離すコマンドですが、drainの場合はそのノードで動いているPodは停止してしまいます。

ReplicationContorollerとReplicaSetの違いは?

要するに 新しい機構がReplicaSet です。今はReplicaSetを使いますが、古いバージョンのK8sでは動かない場合もあります。 主な違いとしてReplicaSetには selector という概念があります。

etcdへアクセスするためのetcdctlコマンドの試行錯誤

はじめに 色々試しましたが結局表示されず。 下記の失敗を参考にください。 環境情報 DockerDesktop etcdctl 3.3.10 コマンド実行結果 # etcdctl ls Error: client: etcd cluster is unavailable or misconfigured; error #0: dial tcp 127.0.0.1:4001: conn…

Podmanってなに?

要するに Dockerとの互換性があるコンテナエンジン です。Dockerの代わりに利用でき、CentOSなどで利用できます。

KubernetesのAPIバージョンってなに?

要するに Kubernetesのオブジェクトのバージョン です。具体的には以下があり alpha beta stable アルファレベルは実験的な実装、ベータレベルは互換性のない変更可能性あり、ステーブルレベルは安定版ですね。

DockerfileのARGとENVの違いは?

要するに ARGはビルド用の引数でENVはコンテナ内の環境変数 です。ARG使われるのはビルド時だけなんですよね。

レディネスプローブってなに?

要するに ロードバランスからの死活監視に相当するヘルスチェック です。Readiness ProbeでPodのspec.containers.readinessProbeフィールドで設定します。

kubenetesを立ち上げるHW要件は?

サーバにCPUが2つ必要 です。1つしか積んでいないサーバで起動しようとすると以下エラーになりました。 # kubeadm init --pod-network-cidr=10.10.0.0/16 W0610 14:29:51.947456 21321 configset.go:202] WARNING: kubeadm cannot validate component config…

CircleCIってなに?

要するに ビルド、テスト、リリースを省力化するプロダクト及び企業 です。CI(Continuous Integration:継続的インティグレーション )」「CD(Continuous Delivery:継続的デリバリー)」界隈では老舗の企業です。

RocketChatで日本語名のチャネルを作成するには?

adminにて 設定>全般>UTFを以下に編集 します。 [ぁ-んァ-ヶーa-zA-Za-zA-Z0-9一-龠-0-9-、。_.]+デフォルトが下記なので [0-9a-zA-Z-_.]+日本語が入らなくなっています。

コンテナイメージの全削除コマンドは?

以下のワンライナーです。 docker images -aq | xargs docker rmi -f です。巷ではfが外されたりしていますが (must be forced) - image is referenced in multiple repositoriesのようなメッセージが出て削除に失敗することがあります。

docker ps で詳細情報を確認するオプションは?

以下コマンドです。 docke ps --no-trunc psだけだとコマンドが途中で切れてしまいますが--no-truncを利用すれば全て表示されます。

docker-composeをアイランド環境で使うには?

インターネットにつないだ環境からwgetでGithubから落としてファイルをコピー で持っていけます。便利なコマンドなので使いたいですもんね。 # sudo wget -O /usr/local/bin/docker-compose "https://github.com/docker/compose/releases/download/1.25.5/do…

taintとAffinityruleの違いは?

要するに taintはノードにAffinityruleはPodに適用されます Kubernetesの用語ですね。クラスタ内でポッドの配置を制御する際に利用する設定項目です。

containerdってなに?

要するに Dockerのようなコンテナ実行環境の一つ です。オープンソースソフトウェアのようです。Dockerが有名すぎて他はあまり聞かないですよね...

CRI-0ってなに?

要するに Dockerに変わるコンテナ実行環境 です。もともとOCIDと呼ばれていたそうです。 ちなみにCRIはContainer Runtime Interfaceの略で、DockerもCRI-0もCRIです。

CVSとは?

要するに バージョン管理システム です。もともとあったRCSやSCCSといったツールを改良したものとして一時期は流行っていましたが今はGitを皆利用しているからか見なくなりました。が、閉じたアイランド環境ではいまだに現役な気がします。

Mercurialってなに?

要するに 分散バージョン管理システムの一つ です。マーキュリアルと言いますが、Gitのように利用できます。あまり現場では見たことないですが、英語圏の文献でよく見かけます。

Helm(ヘルム)ってなに?

要するに Kubernetes上で動くコンテナのパッケージング及び配布の機構を提供する仕組み です。利用法として分かりやすいイメージとしては、「nginxのポッドを展開したい」というリクエストでYAMLを用意してくれます。 ちなみに、本ツールは公式ではない点は…

OpenShiftってなによ?

要するに RedHatが提供するソフトウェアの開発/運用プラットフォーム です 開発したソフトウェアはコンテナとして配布する仕組みも兼ね備えており、この部分はk8sが利用されています。

ドッカーコムポーズってなによ?

要するに 複数のDockerイメージをまとめて起動したりできるツール です 綴りはDocker Composeです。docker-compose.ymlに設定を書く必要がありますが、個別にいちいちコンテナ起動する必要がないので便利です。

CVSとSVN(Subversion)の違いは?

要するに ファイル毎に管理するのがCVSでリポジトリ毎に管理するのがSVN です。コミットをまとめて行えるGitはSVNに近いですね。