noclobber
Linuxにおいて、setコマンドでシェルに対して設定するシェルオプションで、このオプションを有効にするとリダイレクトの際に既存のファイルを上書きできないようになる。
>>で追記するつもりが、間違えて>で上書きしてしまうことはとてもありそうなのでこのオプションは結構使えそう。
ちなみにclobberの意味は
他動詞
((俗))1(人)をこっぴどくぶん殴る,こてんぱんにやっつける;(人)を酷評する
clobberとは 意味・読み方・使い方 より引用
2(競技などで)(相手)を圧倒的に打ち負かす
3(違反者)を厳しく罰する
となっている。相手(既存ファイル)の言うこと(記述されている内容)を無視して打ち負かせる(上書きする)みたいな意味?想像以上に厳つい単語だった。
参考サイト
【 set 】コマンド――シェルの設定を確認、変更する
syncloop
Kubernetesのコンテキストにおいて、「sync loop」はKubernetesのコントローラーがクラスターの状態を望ましい状態に向けて継続的に調整しようとするプロセスを指す。(GPT調べ)
syncloopで調べてもあまりめぼしい説明が出てこなかったのでここはGPT先生頼りということで。
「デフォルトではSyncLoopの間隔は60秒に設定されています。この頻度を上げる場合には、kubeletのオプションとして–sync-frequencyを設定して下さい。また、環境変数を利用したSecretの場合、動的な更新はできません。」という文言が2つのサイトで利用されていたので、これは公式のどこかに書いている文言の可能性あり。ただし該当する公式サイトは発見されなかった。古い記述なのかもしれない。
kubeleteが発信or受信するシグナルっぽくて、どうやらリソースを理想の状態に保つための通信っぽい。でもpodの状態を正しく保つのに間隔60秒は遅すぎるから特別なリソースの状態を保つために必要なんかね?よくわからん。
参考サイト
Kubernetesにいまさら入門した話
KubernetesのConfig&Storageリソース(その1)
runC
OCI Runtime Specificationに基づいて作られたKubernetesやDockerの低レベルなランタイムで、OSSとして公開されている。単独でコンテナの起動と動作を管理するためのCLIツールとしても利用することができる。
う~んわからない。さらに分割して調べる。困難は分割せよ。
OCI (Open Container Initiative)
Linux Foundationの傘下の組織。この組織はコンテナのイメージ形式やランタイムなどについて業界標準を作る管理機構である。
Runtime Specification
OCIが策定したコンテナのランタイムについての仕様。
コンテナランタイム
Kubernetes ノード上のコンテナとコンテナイメージを管理するソフトウェア
なんとなくわかってきた。
で、コンテナランタイムには大まかに分けて高レベルなコンテナランタイムと低レベルなコンテナランタイムが存在するらしい。
わかりやすい図があったので引用する
以下の資料の4ページに記載されている。
どうやらコマンドの指示に近いほうが高レベルなランタイムで、CRIランタイムと呼ばれている。また、実際にコンテナを作成する作業に近いほうが低レベルなランタイムで、OCIランタイムと呼ばれてiいる。今回のテーマであるrunCは低レベルなランタイムにあたるみたい。
CRIってなんぞや?わからない単語だらけで困る。
CRI(Container Runtime Interface)
クラスターコンポーネントを再コンパイルすることなく、kubeletがさまざまなコンテナランタイムを使用できるようにするプラグインインターフェイス。
Kuberletが使用する高レベルなランタイムと、実際のコンテナとの橋渡しをするやつ、みたいな意味かな。
ちなみに、runCはつい最近脆弱性が報告されています。コンテナ扱っている方はパッチ適用を忘れずに!
Dockerに緊急の脆弱性、ホスト環境が不正アクセスを受ける危険性
参考サイト
OCI Runtime Specificationを読んだので概要を書く
コンテナランタイムインターフェイス(CRI)
コンテナ ランタイムでの containerd の使用
コンテナランタイムの仕組みと、Firecracker、gVisor、Unikernelが注目されている理由。 Container Runtime Meetup #2
スタックトレース
実行中のコンピュータプログラムにエラーが発生した際に、直前に実行していた関数やメソッドなどの履歴を表示すること。
ログに出てくるエラーがバーーッとでてくるあれです。
プロジェクトメンバーに相談するときに、エラーログ見てて~っていうよりスタックトレース見てて~っていうほうがちょっとカマしてる感あってよい。カマしていこう。
参考サイト
スタックトレース 【stack backtrace】 stack traceback
グロブ
globパターン
ワイルドカード文字を使用してファイル名またはフォルダ名のセットを指定するパターンのこと。
glob構文:
ワイルドカード | 説明 | 例 |
---|---|---|
* | 任意の数の任意の文字(文字なしを含む)に一致します。 | *.txt は、test.txt などのファイルに一致します |
? | 任意の1文字を検索します。 | ?.txt は、a.txt やb.txt などのファイルに一致します |
[abc] | カッコ内に指定されたいずれかの文字に一致します。 | [abc].txt は、ファイルa.txt 、b.txt およびc.txt に一致します |
[a-z] | カッコ内に指定された範囲の1文字と一致します。 | [a-d].txt は、a.txt やd.txt などのファイルに一致します |
** | 再帰ワイルドカード。 | /hello/**/* は、/hello のすべての子孫に一致します |
grepとかで使う*とかのこと。
正規表現の*って直前の文字を0回以上繰り返すって意味やから、grobパターンで使う*とは意味が違うんやね。grepってglobal regular expression printやけど、grepの*って実は正規表現ではなくglobパターンとして使ってる?ややこしいな