パート11: BGPコントロールプレーン、ロードバランサーIP、Egressクイズ
Cilium 1.20.2 · 2026-10-15
ENI IPAMを使うEKSクラスターで、
PodCIDRタイプのCiliumBGPAdvertisementは何を実現しますか?- A) 各ENIのセカンダリIPをすべて/32ルートとしてピアに広告する
- B) VPCルートテーブルにルートを設定する
- C) 各ノードからVPC CIDRを広告する
- D) 実用的な効果はない。ENI IPAMではCiliumが所有するPodCIDRがノードに割り当てられないため、広告できるノード単位のプレフィックスがない
回答を表示
回答: D) 実用的な効果はない。ENI IPAMではCiliumが所有するPodCIDRがノードに割り当てられないため、広告できるノード単位のプレフィックスがない
PodCIDR広告が機能するのは、ノードごとにPodCIDRを割り当てるIPAMモード(cluster-pool、Kubernetes host scope)だけです。ENIではPod IPがすでにVPCアドレスであり、VPCによってルーティングされます。BGP Control Planeはクラウドのルートテーブルを設定しません。CiliumBGPPeerConfigは、ピアに送信する広告をどのように選択しますか?- A)
families[].advertisementsを使う。これはCiliumBGPAdvertisementオブジェクトのmetadata.labelsに一致させるラベルセレクター - B) ピアの
familiesエントリでadvertisementTypeを照合する - C)
peerConfigRefに広告名を列挙する - D) ノードのannotationを使う
回答を表示
回答: A)
families[].advertisementsを使う。これはCiliumBGPAdvertisementオブジェクトのmetadata.labelsに一致させるラベルセレクターClusterConfigは名前でPeerConfigを参照しますが、PeerConfigは広告オブジェクトのラベルで広告を選択します。一致する広告がなくてもセッションは確立し、何も広告されない状態になります。
- A)
externalTrafficPolicy: Localを設定したLoadBalancerServiceをBGPで広告する場合、どのノードからVIPが広告されますか?- A) Serviceのリースを持つノードのみ
- B) クラスター設定で選択されたすべてのノード
- C) 少なくとも1つのローカルReadyバックエンドを持つノードのみ。ルートはPodに追従する
- D) コントロールプレーンノードのみ
回答を表示
回答: C) 少なくとも1つのローカルReadyバックエンドを持つノードのみ。ルートはPodに追従する
Clusterでは、選択されたすべてのノードからVIPが広告されます。Localでは、Readyなローカルエンドポイントがないノードから広告が取り下げられます。リースはBGPではなくL2 announcementに属します。Cilium 1.19から1.20にアップグレードした後、BGPセッションのGrafanaパネルが空になりました。原因として考えられる変更はどれですか?
- A) BGPメトリクスがoperatorへ移動した
- B) インスタンス単位のラベル
vrouterがinstance_nameになったが、1.20のアップグレードノートには記載されていない - C)
bgpControlPlane.metrics.enabledを設定しない限りBGPメトリクスが無効になる - D) メトリクスのプレフィックスが
cilium_からbgp_へ変わった
回答を表示
回答: B) インスタンス単位のラベル
vrouterがinstance_nameになったが、1.20のアップグレードノートには記載されていない1.19.8のメトリクスドキュメントでは
vrouterを使いますが、1.20.2ではinstance_nameです。古いラベルで絞り込むクエリやアラートは、エラーを出さずに一致しなくなります。2つの
CiliumBGPAdvertisementオブジェクトが、異なるcommunityと異なるlocalPreference値を使って同じServiceに一致します(Cilium 1.18以降)。何が広告されますか?- A) communityの和集合と、最大の
localPreference - B) 最後に適用された広告の属性
- C) アルファベット順で最初の広告だけ
- D) 競合のためルートが取り下げられる
回答を表示
回答: A) communityの和集合と、最大の
localPreference1.18より前の動作は「最後に一致したものを採用」でした。
localPreferenceはiBGPピアにのみ送信される点にも注意してください。- A) communityの和集合と、最大の
v1の
CiliumBGPPeeringPolicyとそのコントロールプレーンが削除されたのは、どのリリースですか?- A) 1.18
- B) 1.20
- C) 1.21
- D) 1.19
回答を表示
回答: D) 1.19
1.18で非推奨となり、1.19で
pkg/bgpv1とともに削除されました。そのため、クラスターを1.19にアップグレードする前にcilium.io/v2CRDへ移行する必要があります。v2 CRDのv2alpha1コピーは1.20と1.21-preでも引き続き提供されますが、非推奨です。Cilium 1.20でマルチホップBGPセッションの障害検出を速くするには、どうすべきですか?
- A)
CiliumBGPPeerConfig.spec.bfdでBFDを有効にする - B) BFDはサポートされないため、hold/keepaliveタイマーを短くする(CRDの最小値は3と1)。agentの再起動にはGraceful Restartを使う
- C)
ebgpMultihopを255にすると高速フェイルオーバーが有効になる - D)
connectRetryTimeSeconds: 1を設定する
回答を表示
回答: B) BFDはサポートされないため、hold/keepaliveタイマーを短くする(CRDの最小値は3と1)。agentの再起動にはGraceful Restartを使う
1.18から1.21-preまでのCRDにはBFDフィールドがありません。よく推奨される9/3秒のタイマー値は積極的な設定例であり、CRDの最小値ではありません。
ebgpMultihopはTTLだけを設定します。connect-retryは再接続に影響しますが、障害検出には影響しません。- A)
既存の
TLSRouteオブジェクトはv1alpha2であり、Gateway API v1.6.1を含むCilium 1.20にアップグレードする予定です。何をすべきですか?- A) 何もしない。standard-channelのCRDがオブジェクトを自動変換する
- B) TLSRouteを削除し、アップグレード後に再作成する
- C) TLSRouteをバックアップし、Ciliumをアップグレードする前に
v1alpha2を引き続き含むexperimental-channelのv1.6.1 TLSRoute CRDをインストールする - D) standard-channelのv1.6 TLSRoute CRDだけをインストールする。これですべてのバージョンが残る
回答を表示
回答: C) TLSRouteをバックアップし、Ciliumをアップグレードする前に
v1alpha2を引き続き含むexperimental-channelのv1.6.1 TLSRoute CRDをインストールするstandard-channelのv1.6 TLSRoute CRDをインストールすると、保存済みの
v1alpha2オブジェクトが読み取り不能になり、消えたように見えます。デフォルトのL2 announcementリース設定(duration 15秒、renew deadline 5秒、retry 2秒)では、フェイルオーバー時間はおよそ何秒ですか?
- A) 2~4秒
- B) 正確に15秒
- C) 30~60秒
- D) 10~20秒
回答を表示
回答: D) 10~20秒
フェイルオーバー時間は
leaseDuration - leaseRenewDeadlineからleaseDuration + leaseRenewDeadlineの範囲です。3秒/1秒/200ミリ秒に調整すると2~4秒になりますが、API QPSが増えるため、クライアントのレート制限を引き上げてください。CiliumEgressGatewayPolicyのegressGateway.nodeSelectorに一致するノードがありません。選択されたPodから宛先CIDRへのトラフィックはどうなりますか?- A) ドロップされる
- B) ランダムなノード経由で送信される
- C) 通常のノードマスカレードにフォールバックする
- D) Gatewayが現れるまでキューに入る
回答を表示
回答: A) ドロップされる
1.20.2および1.21.0-pre.3では、Egress Gatewayにヘルスベースのフェイルオーバーやフォールバックはありません。一致するGatewayがない場合、宛先CIDRへのトラフィックはドロップされます。