Ace Your Kubernetes インタビュー-II
37 日目のタスク: 上位 16 の Kubernetes インタビューの質問と回答 パート II
みなさん、こんにちは。DevOps の別のタスクで戻ってきました。
Part 02 Kubernetesの面接質問です。
注: 短い回答が必要な場合は、すべての回答が説明的な方法で書かれています。短い回答の PDF はパート 03 に記載されています。
それでは始めましょう…
06. Kubernetes におけるローリング アップデートの概念について説明していただけますか?
Kubernetes では、ローリング アップデートは、ダウンタイムやエンド ユーザーへの中断なしに実行中のアプリケーションを更新できる展開戦略です。これは、更新されたバージョンのアプリケーションで新しいレプリカ セットを作成し、古いレプリカ セットをスケールダウンしながら徐々にスケールアップすることで機能します。このようにして、古いレプリカ セット内のすべてのポッドが終了するまで、トラフィックは徐々に新しいバージョンに移行されます。
ローリング更新は、一度に更新するレプリカの数、更新の間隔、更新中に利用できないポッドの最大数など、いくつかの方法で構成できます。このアプローチにより、ユーザーはアプリケーションを常に利用できるようになり、新しいバージョンの問題は、展開全体に影響が及ぶ前に検出および解決できます。
例:
アプリケーションのバージョン 1.0 を実行する 4 つのレプリカを配置したとします。ダウンタイムなしでアプリケーションをバージョン 2.0 に更新したいと考えています。バージョン 2.0 で新しいレプリカ セットを作成し、古いレプリカ セットを縮小しながら徐々にスケールアップすることができます。これにより、ユーザーは更新中もアプリケーションにアクセスできます。古いレプリカ セット内のすべてのポッドが終了すると、新しいバージョンが完全にデプロイされます。
07. Kubernetes はネットワーク セキュリティとアクセス制御をどのように処理しますか?
Kubernetes は、ネットワーク セキュリティとアクセス制御を処理するためのさまざまな機能を提供します。主な機能は次のとおりです。
- ネットワーク ポリシー: Kubernetes は、ポッドが相互に、および他のネットワーク エンドポイントとの通信を許可する方法を定義できるネットワーク ポリシーをサポートしています。ネットワーク ポリシーを使用すると、ポッドまたは名前空間間のアクセスを制限して、より安全な環境を作成できます。
- サービス アカウント: Kubernetes は、クラスター内の Kubernetes API サーバーおよびその他のリソースへのアクセスを制御できるようにするサービス アカウントを提供します。リソースへのアクセスを制限または付与するために、サービス アカウントに特定の役割と権限を割り当てることができます。
- 役割ベースのアクセス制御 (RBAC): Kubernetes は RBAC をサポートしており、ユーザーとサービス アカウントの役割と権限を定義できます。RBAC を使用すると、クラスター内のさまざまなリソースに対してきめ細かいアクセス制御ポリシーを作成できます。
- シークレット: Kubernetes はシークレットを提供します。これにより、パスワード、キー、トークンなどの機密情報を安全に保存および管理できます。シークレットを使用して、アプリケーション内の機密データへのアクセスを制御できます。
08. Kubernetes を使用して高可用性アプリケーションをデプロイする方法の例を挙げていただけますか?
Kubernetes を使用して高可用性 Web アプリケーションをデプロイする方法の例を次に示します。
- まず、Web アプリケーションの Docker イメージを作成し、それを Docker Hub などのコンテナー レジストリにプッシュします。
- レプリカの数、使用するコンテナー イメージ、環境変数やその他の構成など、アプリケーションの望ましい状態を定義する Kubernetes 展開オブジェクトを作成します。
- アプリケーションに安定した負荷分散された IP アドレスを提供する Kubernetes Service オブジェクトを作成します。これにより、トラフィックがアプリケーションのすべてのレプリカに均等に分散されます。
- Kubernetes Ingress オブジェクトをセットアップして、アプリケーションをインターネットに公開します。これにより、外部トラフィックが単一のエントリ ポイントを介してアプリケーションにアクセスできるようになると同時に、SSL ターミネーション、ロード バランシング、およびその他の高度な機能も提供されます。
- Horizontal Pod Autoscaling (HPA) を使用して、リソース使用率に基づいてアプリケーションを自動的にスケールアップまたはスケールダウンするように Kubernetes を構成します。これにより、アプリケーションがダウンすることなく、トラフィックの突然のスパイクを処理できるようになります。
- Kubernetes のローリング アップデートを使用して、ダウンタイムなしでアプリケーションの新しいバージョンをデプロイします。これにより、サービス中断のリスクを最小限に抑えながら、ユーザーは常に最新の機能とバグ修正にアクセスできるようになります。
09. 名前空間は kubernetes とは何ですか? 名前空間を指定しない場合、ポッドはどの名前空間を使用しますか?
Kubernetes では、名前空間はクラスター内のリソースを論理的に分離する方法です。リソースに名前を付けるためのスコープを提供し、名前の競合を防ぐのに役立ちます。デフォルトでは、名前空間が指定されていない場合、ポッドは「デフォルト」名前空間に作成されます。
例:
組織内に 2 つのチームがある場合、各チームは、その中で作業するための独自の名前空間を持つことができます。これにより、リソースの編成が改善され、アクセス制御の管理が容易になります。
チーム A とチーム B の 2 つのチームがあるとします。それぞれ「チーム a」と「チーム b」という 2 つの名前空間を作成できます。各チームによって作成されたリソースは、それぞれの名前空間内で分離できます。名前空間を指定せずにポッドを作成すると、「デフォルト」の名前空間に作成されます。
10.イングレスは kubernetes でどのように役立ちますか?
Kubernetes では、Ingress はクラスター内のサービスへの外部アクセスを管理する方法を提供する API オブジェクトです。つまり、パブリック ネットワークと Kubernetes クラスター内で実行されているサービスの間のレイヤーとして機能し、要求された URL に基づいて外部トラフィックを適切なサービスにルーティングできるようにします。
Ingress を使用すると、URL パスやホスト名などの要素に基づいて、着信トラフィックをさまざまなサービスに転送する方法を指定するルールを定義できます。これにより、トラフィック ルーティングをよりきめ細かく制御し、負荷分散、SSL ターミネーションなどの機能を有効にできます。
例:
Kubernetes クラスターで実行されている複数のマイクロサービスがあり、単一の IP アドレスとポートを使用してそれらをインターネットに公開したいとします。各サービスを一意のホスト名とパスにマップする Ingress オブジェクトを作成できます。次に、ロード バランサーまたは DNS プロバイダーが Ingress コントローラーの IP アドレスを指すように構成すると、トラフィックは、要求のホスト名とパスに基づいて正しいサービスに自動的にルーティングされます。
パスに基づいて 2 つの異なるサービスにトラフィックをルーティングする Ingress リソースの YAML 定義の例を次に示します。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: example.com
http:
paths:
- path: /service-a
pathType: Prefix
backend:
service:
name: service-a
port:
name: http
- path: /service-b
pathType: Prefix
backend:
service:
name: service-b
port:
name: http
Part 01 Kubernetesのインタビュー質問はこちら。
Part 03 Kubernetesのインタビュー質問はこちら。
DevOps ジャーニーの今日のタスクは以上です。
読んでくれてありがとう.
このストーリーが気に入ったら、 をクリックして、もっと面白くて役立つストーリーをフォローしてください。
— — — — — — — #keepLearning_DevOpsCloud ♾️☁️ — — — — — —

![とにかく、リンクリストとは何ですか?[パート1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































