AWS Kubernetes와의 면접 준비? 괜찮아요! 이 기사는 당신이 겪을 수있는 일반적인 Kubernetes 인터뷰 질문을 다루는 인터뷰 가이드를 제공합니다.
키 포인트 요약
Kubernetes는 컨테이너화 된 애플리케이션의 배포, 스케일링 및 관리를 자동화하여 소프트웨어 개발 및 제공 속도를 높이기 때문에 DevOps에 중요한 오픈 소스 컨테이너 오케스트레이션 플랫폼입니다.
Kubernetes는 Amazon Elastic Kubernetes Service (EKS)를 사용하여 AWS에 배치 할 수 있으며, 다른 AWS 서비스와 통합되어 컨테이너화 된 애플리케이션을 배포하고 관리하는 데 완벽한 경험을 제공합니다.
Kubernetes 아키텍처 주요 구성 요소에는 노드, 제어 평면, 포드, 서비스 및 유입이 포함됩니다. Kubernetes 네임 스페이스는 여러 사용자 또는 팀 간의 클러스터 리소스를 나누고 이름 지정 충돌을 방지하며 리소스 공유를 촉진하는 데 도움이됩니다.
Kubernetes는 HPA (Horizontal Pod Autoscaler) 및 클러스터 자동 구속기와 같은 기능으로 고 가용성과 확장 성을 보장합니다. 또한 영구 볼륨 (PV) 및 영구 볼륨 선언 (PVC)을 사용하여 영구 스토리지를 처리하여 기본 스토리지 인프라를 추상화합니다.
-
- Kubernetes는 무엇이며 왜 DevOps에 중요한가?
-
Kubernetes는 컨테이너화 된 애플리케이션의 배포, 스케일링 및 관리를 자동화하는 오픈 소스 컨테이너 오케스트레이션 플랫폼입니다. 응용 프로그램의 배포 및 관리 프로세스를 단순화하여 소프트웨어 개발 및 전달의 속도를 높이는 데 도움이되므로 DevOps에 중요합니다.
-
Kubernetes는 AWS와 어떻게 작동합니까?
Kubernetes는 Kubernetes 제어 평면을 설치하고 작동하지 않고 AWS에서 Kubernetes를 쉽게 실행할 수있는 관리 서비스 인 Amazon Elastic Kubernetes Service (EKS)를 사용하여 AWS에 배치 할 수 있습니다. EKS는 Elastic Load Balancing, Amazon RDS 및 AWS Identity and Access Management (IAM)과 같은 다른 AWS 서비스와 통합되어 컨테이너화 된 애플리케이션을 배포하고 관리하는 데 완벽한 경험을 제공합니다. -
Kubernetes 아키텍처의 주요 구성 요소는 무엇입니까?
Kubernetes 아키텍처의 주요 구성 요소는 다음을 포함합니다
노드 : - 컨테이너화 된 애플리케이션을 실행하는 물리적 또는 가상 기계.
컨트롤 평면 : API 서버, 컨트롤러 관리자 및 스케줄러를 포함하여 클러스터의 전체 상태를 관리하는 구성 요소 세트.
POD : - kubernetes 객체 모델에서 가장 작고 단순한 단위는 클러스터에서 실행되는 프로세스의 단일 인스턴스를 나타냅니다.
서비스 : 네트워크 서비스로 포드 세트에서 실행되는 응용 프로그램을 노출시키는 방법.
Ingress : API 객체, 일반적으로 HTTP를 통해 클러스터의 서비스에 대한 외부 액세스를 관리하는 API 객체.
-
Kubernetes 마스터 노드의 역할은 무엇입니까?
-
kubernetes 마스터 노드 (제어 평면이라고도 함)는 클러스터의 전체 상태를 관리 할 책임이 있습니다. API 서버 (Kubernetes API 노출) (컨트롤러 저장) (클러스터 상태를 조절);
Kubernetes 네임 스페이스 란 무엇이며 그 사용은 무엇입니까? -
Kubernetes 네임 스페이스는 여러 사용자 또는 팀간에 클러스터 리소스를 나누는 방법입니다. 리소스의 목적 또는 소유권에 따라 리소스를 구성하고 격리 할 수있는 리소스 이름의 범위를 제공합니다. 네임 스페이스는 이름 지정 충돌을 방지하고 리소스 공유 및 액세스 제어를 용이하게하는 데 도움이되므로 많은 사용자와 큰 클러스터를 관리하는 데 유용합니다.
Kubernetes에 응용 프로그램을 배포하는 방법은 무엇입니까?
-
kubernetes에 응용 프로그램을 배포하려면 컨테이너 이미지, 복제 및 네트워크 설정을 포함하여 응용 프로그램의 필요한 상태를 정의하는 구성 파일 세트를 작성해야합니다. 이 파일은 일반적으로 Yaml 형식으로 작성되며 다음을 포함합니다.
배포 : 는 컨테이너 이미지, 복제본 및 업데이트 정책을 포함하여 응용 프로그램의 필요한 상태를 설명합니다.
서비스 :
클러스터 내부 또는 외부에 관계없이 응용 프로그램을 네트워크에 노출시킵니다.
Insress (선택 사항) :
일반적으로 HTTP를 통해 클러스터의 서비스에 대한 외부 액세스 관리.
-
구성 파일을 작성한 후 KubEctl 명령 줄 도구를 사용하여 클러스터에 적용 할 수 있습니다.
Kubernetes configmap은 무엇이며 어떻게 사용됩니까?
Kubernetes configmap은 비 기밀 구성 데이터를 키 값 쌍의 형태로 저장할 수있는 API 객체입니다. 구성 데이터를 컨테이너 이미지와 분리하는 데 사용하여 이미지를 재건하지 않고 응용 프로그램 구성을보다 쉽게 업데이트하고 관리 할 수 있습니다. 포드는 configmap을 환경 변수, 명령 줄 매개 변수 또는 볼륨에 설치 한 파일로 사용할 수 있습니다.
- Kubernetes의 비밀은 무엇이며, 그것과 configmap의 차이점은 무엇입니까?
Kubernetes Secret은 ConfigMap을 사용하는 것보다 더 안전한 방식으로 암호, 토큰 또는 키와 같은 민감한 데이터를 저장할 수있는 API 객체입니다. 비밀은 휴식시 암호화되며 공인 된 포드 만 액세스 할 수 있습니다. ConfigMap과 마찬가지로 PODS에서 환경 변수, 명령 행 매개 변수 또는 볼륨으로 설치된 파일로 비밀을 사용할 수 있습니다. 비밀과 ConfigMap의 주요 차이점은 민감한 데이터를 저장할 때 제공되는 보안 수준입니다.
Kubernetes에서 응용 프로그램을 확장하는 방법은 무엇입니까?
Kubernetes에서는 배포 구성에 지정된 복제본 수를 조정하여 응용 프로그램을 확장 할 수 있습니다. 복제본 수를 수동으로 업데이트하거나 HPA (Horizontal Pod Autoscaler)를 사용하여 CPU 사용 또는 사용자 지정 메트릭을 기반으로 포드 수를 자동으로 확장 할 수 있습니다. 또한 클러스터 자동 판매기를 사용하여 응용 프로그램의 리소스 요구 사항에 따라 기본 노드 풀의 크기를 자동으로 조정할 수 있습니다. -
Kubernetes 보안의 모범 사례는 무엇입니까?
Kubernetes 보안의 일부 모범 사례에는 다음이 포함됩니다
역할 기반 액세스 제어 (RBAC)를 사용하고 제어 평면으로의 네트워크 액세스를 제한하여 Kubernetes API에 대한 액세스를 제한하십시오.
신뢰할 수있는 기본 이미지, 스캔 취약점 및 서명 이미지를 사용하여 컨테이너 이미지를 보호하십시오.
네트워크 정책을 사용하여 포드 간의 트래픽을 제어하고 민감한 워크로드를 분리하십시오. -
휴식과 운송 중 비밀을 암호화하고 AWS Secrets Manager 또는 Hashicorp의 금고와 같은 Kubernetes 기본 비밀 관리 솔루션을 사용하여 민감한 정보를 보호하십시오.
Kubernetes 클러스터와 노드의 차이점은 무엇입니까?
kubernetes 클러스터는 하나 이상의 노드로 구성되며 각 노드는 하나 이상의 컨테이너를 실행합니다. 노드는 이러한 컨테이너를 실행하고 작업에 필요한 리소스 (예 : CPU 및 메모리)를 제공하는 기본 물리적 또는 가상 머신입니다.
-
Kubernetes가 포드 간 네트워크 통신을 어떻게 처리하는지 설명 할 수 있습니까? -
Kubernetes는 Kubernetes 클러스터에서 실행되는 포드 간의 통신을 활성화하기 위해 소위 POD 네트워크를 구현합니다. 이 네트워크는 일반적으로 VXLAN 또는 IP-In-IP 터널링과 같은 기술을 기반으로 한 오버레이 네트워크를 사용하므로 다른 노드에서 실행되는 포드가 동일한 물리적 호스트에있는 것처럼 서로 통신 할 수 있습니다. -
- Kubernetes의 스케일링 메커니즘은 어떻게 작동합니까?
주어진 배치, 복제 세트, 상태 가득한 세트, 데몬, 작업 등에 필요한 복제본 수를 변경하여 확장을 달성 할 수 있습니다. 이 구성 변경을 적용한 후 리소스 관리를 담당하는 컨트롤러는 원하는 상태에 도달 할 때까지 새 인스턴스가 생성 (또는 기존 인스턴스를 종료)하도록합니다.
- AWS EKS 클러스터의 고 가용성을 보장하는 방법은 무엇입니까?
Amazon EKS 클러스터의 고 가용성을 보장하는 가장 좋은 방법은 한 지역의 여러 가용성 영역에 전파하는 것입니다. 가용성 영역에 걸쳐 응용 프로그램을 배포함으로써 실패에 대한 탄력성을 높이고 활동 조사를 통해 자체 치유를 가능하게 할 수 있습니다. 수평 자동 스케일링 및 스크롤 업데이트도 작동 할 수 있습니다.
다른 접근 방식에는 NGINX, Ingress 컨트롤러와 같은 서비스의 청록색 배치, 카나리아 릴리스 사용 (보안 테스트 및 튜닝 허용) 및 재해 복구 단계 백업 및 복구 솔루션의 경우 블루 녹색 배치를 구현하여 배치 중 다운 타임 감소가 포함될 수 있습니다. 데이터 지속성 및 재해 복구를위한 AWS EBS로서.
Kubernetes는 영구 스토리지를 어떻게 처리합니까?
Kubernetes는 지속적인 볼륨 (PV)과 영구 볼륨 선언 (PVC)을 사용하여 기본 스토리지 인프라를 추상화합니다. PV는 클러스터의 물리적 스토리지 블록을 나타내고 PVC는이 특정 유형의 리소스에 대한 요청을 나타냅니다. POD가 일부 지속적인 스토리지에 액세스 해야하는 경우 PVC 정의를 통해 참조 된 다음 PV 컨트롤러에 의해 사용 가능한 PV에 바인딩됩니다. PV는 Kubernetes에 의해 정의 된 POD의 필요한 노드에 설치되며, 관련 기능은 선호도에 따라 POD 레벨 또는 노드 레벨의 백업/복원 프로세스를 포함하여 해당 설정에 따라 관리됩니다.
결론 -
위는 Kubernetes에 대한 15 개의 잠재적 인터뷰 질문에 대한 답입니다. 이 답변이 다음 직업을 얻는 데 도움이되기를 바랍니다!
Kubernetes FAQ (FAQ)
Kubernetes에서 Kube-Proxy의 역할은 무엇입니까?
Kube-Proxy는 Kubernetes의 핵심 구성 요소입니다. 각 노드에서 실행하여 단일 호스트 서브넷을 처리하고 외부 사용자가 서비스를 사용할 수 있는지 확인합니다. 노드에서 네트워크 규칙을 유지 관리 할 책임이 있습니다. 이러한 네트워크 규칙을 사용하면 클러스터 내부 또는 외부의 네트워크 세션에서 POD에 대한 네트워크 통신이 가능합니다.
Kubernetes는 어떻게 장애 조치를 처리합니까?
Kubernetes에는 실패한 장애 조치 처리 메커니즘이 있습니다. 노드가 실패하면 복제 컨트롤러는 서비스 삭제를 알고 다른 노드에서 포드를 다시 시작합니다. 이를 통해 항상 실행하는 데 필요한 포드 수를 보장하여 고 가용성을 제공합니다.
Kubernetes의 ReplicaSet과 Replication Controller의 차이점은 무엇입니까?
Kubernetes의 ReplicaSet 및 Replication Controller는 주어진 시간에 실행되는 안정적인 복제 포드 세트를 유지하도록 설계되었습니다. 그러나 ReplicaSet은 수집 기반 선택기 요구 사항을 지원하는 최신 리소스이며 Replication Controller는 평등 기반 선택기 요구 사항 만 지원합니다.
Kubernetes는 어떻게 확장 성을 제공합니까?
Kubernetes는 HPA (Horizontal Pod Autoscaler) 및 클러스터 자동 구속기와 같은 기능을 통해 확장 성을 제공합니다. HPA는 관찰 된 CPU 활용에 기초하여 POD 복제본의 수를 확장하는 반면, 클러스터 자동 구속기는 요구 사항에 따라 클러스터 크기를 확장합니다.
Kubernetes에서 Ingress 컨트롤러의 역할은 무엇입니까?
Kubernetes의 Ingress 컨트롤러는 Insress 규칙을 구현할 책임이 있습니다. 일반적으로로드 밸런서이며 SSL 종료, 경로 재 작성 또는 이름 기반 가상 호스트와 같은 다른 기능을 가질 수도 있습니다.
Kubernetes는 어떻게 데이터 지속성을 보장합니까?
Kubernetes는 지속적인 볼륨 (PV) 및 지속적인 볼륨 선언 (PVC)을 통한 데이터 지속성을 보장합니다. PV는 클러스터의 저장 공간이며 PVC는 사용자의 저장 공간에 대한 사용자의 요청입니다. POD가 다시 시작될 때 데이터 지속성을 보장하기 위해 POD에서 스토리지 구성을 분리합니다.
Kubernetes에서 서비스의 역할은 무엇입니까?
Kubernetes의 서비스는 논리적 포드 세트와이를 액세스하기위한 정책을 정의하는 추상화입니다. 서비스는 종속 포드간에 느슨한 커플 링을 가능하게하여 발견 및로드 밸런싱 기능을 제공합니다.
Kubernetes는 업데이트 및 롤백을 어떻게 처리합니까?
Kubernetes는 롤링 업데이트 및 롤백을 사용하여 업데이트를 관리합니다. 롤링 업데이트는 점차적으로 오래된 포드를 새로운 포드로 교체하여 다운 타임이 0입니다. 문제가있는 경우 Kubernetes는 이전 상태로 복원 할 롤백 기능을 제공합니다.
Kubernetes의 POD와 배치의 차이점은 무엇입니까?
POD는 Kubernetes 객체 모델에서 가장 작고 쉬운 단위로 만들거나 배포 할 수 있습니다. 반면에 배포는 포드와 복제품을 관리하는 더 높은 수준의 개념입니다. 포드 및 복제품에 대한 선언적 업데이트를 제공합니다.
Kubernetes는 어떻게 서비스 발견 및로드 밸런싱을 제공합니까?
Kubernetes는 서비스 및 유입을 통한 서비스 발견 및로드 밸런싱을 제공합니다. 이 서비스는 안정적인 IP 주소 및 DNS 이름을 사용하여 내부로드 밸런싱 및 검색을 제공합니다. Ingress는 외부로드 밸런싱, SSL 종료 및 이름 기반 가상 호스팅 기능을 갖춘 HTTP 및 HTTPS 라우팅을 서비스에 제공합니다.
위 내용은 Kubernetes 면접 준비? 우리는 당신을 얻었습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!