条件式の真偽値と演算子
eq、and、or、not を正しく使います。
「条件式の真偽値と演算子」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
条件にはロジックが必要
単純なifは1つの値を確認しますが、実際のchartではより複雑なテストが必要です。Helmには、条件を比較してきれいに組み合わせるoperatorsがあります。
記号ではなく関数を使う
Go templateには==演算子がありません。比較はfunctionsとして記述し、最初に関数名、その後ろに値を置きます。
{{ if eq .Values.env "prod" }}eqで等価比較する
eq関数は、2つの引数が等しい場合にtrueを返します。環境名のような文字列の一致確認で特によく使われます。
{{ if eq .Values.tier "gold" }}
priority: high
{{ end }}反対のne
等しくないことを確認したい場合はneを使います。2つの値が異なる場合にtrueを返し、除外条件ではeqの反対として機能します。
{{ if ne .Values.replicas 0 }}数値を比較する
数値に対しては、Helmにlt、gt、le、geがあります。それぞれ小なり、大なり、およびそれらに等しい場合を含む比較です。各関数は2つの引数を取ります。
{{ if gt .Values.replicas 3 }}andで組み合わせる
and関数は、すべての引数がtrueの場合にだけtrueになります。各チェックを囲み、両方を通過した場合にだけブロックをレンダリングします。
{{ if and .Values.tls .Values.ingress.enabled }}orでどちらかを選ぶ
or関数は、いずれかの引数がtrueならtrueになります。複数の条件のうち1つを満たせばブロックをレンダリングできる場合に使います。
{{ if or .Values.debug .Values.verbose }}notで反転する
not関数は1つの値を反転します。trueはfalseに、falseはtrueになります。無効化を表すフラグの判定に使うと読みやすくなります。
{{ if not .Values.autoscaling.enabled }}
replicas: 1
{{ end }}emptyはfalseを意味する
Helmでは、emptyはfalseとして扱われます。0、空文字列、nil、空のリストやマップが該当します。empty関数を使えば、これを直接テストできます。
{{ if not (empty .Values.hosts) }}括弧でグループ化する
これらは関数なので、parenthesesで入れ子にすると、Helmは内側の呼び出しを先に評価し、その結果を外側に渡します。
{{ if and (eq .Values.env "prod") .Values.tls }}一度に複数の引数を渡す
andとorは2つの入力に限定されません。several個の引数を渡すと、Helmはすべてを確認します。andでは、すべてが通過した場合にだけtrueになります。
{{ if and .Values.a .Values.b .Values.c }}クイックチェック
envがprodと等しい場合にだけブロックをレンダリングしたいとします。
まとめ
これでeq, ne, lt, gtで比較し、and、or、notで組み合わせ、括弧でグループ化できるようになりました。条件でほとんど何でも表現できます。🎯
よくある質問
「条件式の真偽値と演算子」レッスンは無料ですか?
はい。「条件式の真偽値と演算子」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「条件式の真偽値と演算子」で何を学びますか?
eq、and、or、not を正しく使います。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「条件式の真偽値と演算子」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。