Mục lục[Ẩn giấu][Chỉ]
- 1. Kubernetes là gì?
- 2. Ý nghĩa của container trong Kubernetes là gì?
- 3. Các thành phần chính của Kubernetes là gì?
- 4. Điều phối trong kubernetes nghĩa là gì?
- 5. Cụm Kubernetes chính xác là gì?
- 6. Việc triển khai trong vùng chứa được Kubernetes thực hiện đơn giản hơn như thế nào?
- 7. Có sự khác biệt cơ bản nào giữa Kubernetes và Docker Swarm?
- 8. Không gian tên trong Kubernetes là gì?
- 9. Thành phần chính Kubernetes etcd chính xác là gì?
- 10. Có những giải pháp nào để bảo mật API trên Kubernetes?
- 11. Sự khác biệt giữa các ứng dụng được triển khai trên máy chủ và vùng chứa là gì?
- 12. Ý nghĩa thực sự của Minikube là gì?
- 13. Làm cách nào để giám sát cụm Kubernetes?
- 14. Các nút Kubernetes phục vụ chức năng gì?
- 15. Mô tả chi tiết về hipster.
- 16. Mô tả hoạt động của Kubernetes master node.
- 17. Điều gì phân biệt container với pod?
- 18. Bạn hiểu gì về cân bằng tải trong Kubernetes?
- 19. Máy chủ Kube-API thực hiện chức năng gì?
- 20. Các bộ trạng thái của Kubernetes có nghĩa là gì?
- 21. Bạn kiểm tra nhật ký trung tâm của nhóm bằng cách nào?
- 22. ClusterIP: Nó là gì?
- 23. Hãy cho tôi biết về bộ điều khiển sao chép?
- 24. Mạng Ingress hoạt động như thế nào và nó là gì?
- 25. Prometheus trong Kubernetes: dùng để làm gì?
- 26. Dịch vụ không đầu là gì?
- 27. Để chạy kiến trúc Kubernetes cục bộ, tôi cần những gì?
- 28. Bạn hiểu Stateful set là gì?
- 29. Trong Kubernetes, tay sai nghĩa là gì?
- 30. Các dịch vụ thực hiện những chức năng nào trong các thành phần Kubernetes?
- 31. Chính xác thì Helm là gì?
- 32. Giải thích PVC
- Kết luận
Ban đầu, Google đã tạo Kubernetes, một công nghệ điều phối vùng chứa mã nguồn mở, vào năm 2014. Việc triển khai, mở rộng quy mô và quản trị các ứng dụng được chứa đều nhằm mục đích tự động hóa.
Kubernetes đã phát triển theo thời gian để trở thành tiêu chuẩn thực tế của ngành cho việc điều phối vùng chứa và được các doanh nghiệp thuộc mọi quy mô sử dụng rộng rãi để quản lý khối lượng công việc của họ trong vùng chứa.
Tầm quan trọng của Kubernetes trong thế giới hiện đại nằm ở khả năng cung cấp một phương pháp nhất quán để quản lý các ứng dụng được chứa trong bộ chứa ở quy mô lớn, trải rộng trên nhiều cụm và môi trường đám mây khác nhau. Nhờ đó, doanh nghiệp có thể quản lý, mở rộng và triển khai các ứng dụng của họ nhanh chóng và hiệu quả
Việc bảo trì các ứng dụng được đóng gói còn dễ dàng hơn nhờ bộ tính năng mở rộng của Kubernetes, bao gồm tự phục hồi, tự động mở rộng quy mô và nâng cấp liên tục.
Khi ngày càng nhiều doanh nghiệp sử dụng quá trình container hóa và vi dịch vụ để tăng tốc quy trình triển khai và phát triển ứng dụng của họ, phạm vi của Kubernetes được dự đoán sẽ tiếp tục mở rộng trong tương lai.
Việc áp dụng các công nghệ gốc trên đám mây và việc chuyển sang các hệ thống đám mây lai và đa đám mây sẽ phụ thuộc rất nhiều vào Kubernetes. Khi ngày càng có nhiều thiết bị được kết nối với internet, Kubernetes cũng sẽ được sử dụng ngày càng nhiều trong bối cảnh tính toán cạnh và IoT.
Tôi cho rằng bạn đã biết những chi tiết này vì bạn đang đọc bài đăng này trên Câu hỏi phỏng vấn Kubernetes, bài đăng này sẽ cho bạn biết những câu hỏi phỏng vấn thường gặp nhất. Hãy bắt đầu nào.
1. Kubernetes là gì?
Kubernetes là một khung mã nguồn mở để quản lý và điều phối ứng dụng được chứa trong container. Nó cho phép triển khai, mở rộng quy mô và duy trì các ứng dụng được chứa một cách nhất quán và hiệu quả.
Kubernetes cung cấp một phương pháp duy nhất để quản lý các ứng dụng được chứa trong bộ chứa ở quy mô lớn và được xây dựng để hoạt động trên nhiều cụm và môi trường đám mây khác nhau.
Tự phục hồi, tự động thay đổi quy mô và nâng cấp liên tục chỉ là một số khả năng giúp việc quản lý các ứng dụng được chứa trong bộ chứa trở nên dễ dàng hơn.
2. Ý nghĩa của container trong Kubernetes là gì?
Bộ chứa là một cách tiếp cận di động, nhẹ và tự túc để đóng gói và chạy phần mềm. Việc đóng gói và triển khai ứng dụng được thực hiện một cách nhất quán và hiệu quả trong Kubernetes bằng cách sử dụng các bộ chứa.
Để tách biệt với các vùng chứa khác và máy chủ, mỗi vùng chứa chỉ thực hiện một quy trình. Tất cả các phần phụ thuộc, thư viện và tệp cấu hình của ứng dụng đều được bao gồm trong hình ảnh vùng chứa đóng vai trò là định nghĩa của vùng chứa.
Số lượng bản sao dự định của vùng chứa luôn hoạt động nhờ Kubernetes sử dụng điều phối vùng chứa để quản lý và mở rộng quy mô vùng chứa. Điều này giúp các nhà phát triển dễ dàng quản lý và triển khai các ứng dụng của họ trên một số cụm và môi trường đám mây.
3. Các thành phần chính của Kubernetes là gì?
Dưới đây là các thành phần chính của kubeneter:
- Kubernetes master: Thành phần này, cũng bao gồm trình quản lý bộ điều khiển và bộ lập lịch, v.v. (kho lưu trữ khóa-giá trị được phân phối), máy chủ API và các thành phần khác, chịu trách nhiệm quản lý toàn bộ cụm.
- Các nút: Đây là các máy trạm mà trên đó các chương trình được chứa trong bộ chứa được thực thi. Kubelet, tương tác với chủ để duy trì trạng thái dự định của cụm, được thực thi trên mỗi nút cùng với thời gian chạy bộ chứa (chẳng hạn như Docker).
- Nhóm: Phần tử cơ bản và nhỏ nhất của mô hình đối tượng Kubernetes là nhóm, đóng vai trò là máy chủ lưu trữ cho một hoặc nhiều vùng chứa.
- Dịch vụ: Dịch vụ cung cấp điểm cuối nhất quán cho các nhóm và cho phép cân bằng tải và khám phá dịch vụ.
- Bộ điều khiển sao chép: Họ đảm bảo rằng số lượng bản sao nhóm cần thiết luôn hoạt động.
- Bí mật và Bản đồ cấu hình: Các tài nguyên này được sử dụng để duy trì dữ liệu cấu hình và bí mật cho các nhóm và các đối tượng cụm khác.
4. Điều phối trong kubernetes nghĩa là gì?
Trong Kubernetes, thuật ngữ “điều phối” đề cập đến việc quản trị và điều phối tự động các vùng chứa cũng như các tài nguyên mà chúng được kết nối. Nó liên quan đến các hoạt động bao gồm kết nối mạng, khả năng mở rộng, triển khai và tự phục hồi. Sử dụng các đối tượng như nhóm, dịch vụ và bộ điều khiển sao chép, Kubernetes điều phối các ứng dụng.
Các nhóm, có thể chứa một hoặc nhiều vùng chứa, là các đơn vị nhỏ nhất có thể triển khai. Dịch vụ quản lý cân bằng tải và khám phá dịch vụ và cung cấp cho nhóm một điểm cuối vững chắc. Bản sao của nhóm luôn hoạt động với số lượng bản sao được yêu cầu nhờ bộ điều khiển sao chép.
5. Cụm Kubernetes chính xác là gì?
Một tập hợp các nút chạy các ứng dụng được chứa trong các ngữ cảnh và máy khác nhau—dựa trên đám mây, vật lý, ảo và tại chỗ—tạo nên một cụm Kubernetes. Nó tạo điều kiện cho việc quản lý và di chuyển đơn giản các ứng dụng cũng như việc tạo ra chúng.
6. Việc triển khai trong vùng chứa được Kubernetes thực hiện đơn giản hơn như thế nào?
Vì một ứng dụng điển hình sẽ hoạt động trong một cụm các bộ chứa trên nhiều máy chủ nên tất cả các bộ chứa này sẽ cần giao tiếp với nhau.
Vì vậy, để thực hiện được điều này, cần phải có một hệ thống quy mô lớn có thể mở rộng quy mô, cân bằng tải và giám sát các thùng chứa. Bạn phải sử dụng Kubernetes để dễ dàng triển khai trong vùng chứa vì nó không liên quan đến đám mây và có thể hoạt động trên bất kỳ nhà cung cấp công cộng hoặc tư nhân nào.
7. Có sự khác biệt cơ bản nào giữa Kubernetes và Docker Swarm?
Lên lịch và phân cụm các bộ chứa Docker với Docker Swarm, một công cụ điều phối bộ chứa nguồn mở, gốc từ Docker. Các đặc điểm sau khiến Swarm khác biệt với Kubernetes:
- Mặc dù Kubernetes và Docker Swarm đều thiếu khả năng tự động mở rộng quy mô, nhưng quy mô Docker nhanh hơn gấp XNUMX lần so với Kubernetes.
- Kubernetes cung cấp GUI ở dạng bảng điều khiển, nhưng Docker Swarm thiếu một GUI.
- So với Kubernetes, khó thiết lập hơn nhưng đảm bảo về một cụm mạnh, Docker Swarm dễ cài đặt hơn nhưng không có cụm ổn định.
- Mặc dù Kubernetes bao gồm các khả năng tích hợp để ghi nhật ký và giám sát, Docker cần các công cụ bên ngoài như ngăn xếp ELK.
- Các bản cập nhật cuộn có thể được triển khai thông qua Docker, nhưng không thể triển khai các bản lùi tự động; Có thể triển khai các bản cập nhật cuộn cũng như khôi phục tự động bằng Kubernetes.
8. Không gian tên trong Kubernetes là gì?
Không gian tên Kubernetes được sử dụng trong môi trường có nhiều người dùng làm việc trên nhiều dự án trên một khu vực địa lý rộng. Không gian tên phân chia tài nguyên cụm cho một số người dùng.
9. Thành phần chính Kubernetes etcd chính xác là gì?
Etcd là một phần quan trọng của máy chủ chính Kubernetes. Ngoài ra, nó đóng vai trò là trung tâm của cụm Kubernetes, nơi các mục được lưu trữ trong kho lưu trữ khóa-giá trị phân tán.
Công nghệ sao chép được sử dụng cùng với thuật toán để bảo toàn dữ liệu được lưu trong etcd giữa các máy chủ. Khi so sánh và trao đổi dữ liệu giữa các máy chủ etcd, đơn vị tiền tệ tối ưu được sử dụng để giảm thiểu các tình huống khóa và tăng tốc độ máy chủ.
10. Có những giải pháp nào để bảo mật API trên Kubernetes?
Việc cung cấp Bảo mật API có thể được thực hiện theo cách được liệt kê bên dưới:
- Thông qua phương tiện xác thực API
- Lựa chọn chế độ xác thực phù hợp cho chế độ xác thực máy chủ API= Node, RBAC
- Theo dõi lỗi RBAC
- Đảm bảo rằng TLS đang được sử dụng để bảo vệ lưu lượng
- Sử dụng chế độ ủy quyền=Webhook để đảm bảo rằng Kubeless bảo vệ API của mình
- Loại bỏ các quyền Tài khoản dịch vụ mặc định
- Sử dụng bản phát hành gần đây nhất của kube
- Đảm bảo rằng bảng điều khiển kube tuân theo chính sách RBAC nghiêm ngặt
- Triển khai chính sách bảo mật nhóm để hạn chế quyền truy cập vùng chứa và bảo vệ nút
11. Sự khác biệt giữa các ứng dụng được triển khai trên máy chủ và vùng chứa là gì?
Một hệ điều hành và một kiến trúc tạo nên các ứng dụng đã triển khai. Hệ điều hành sẽ có một hạt nhân chứa nhiều thư viện cần thiết cho một ứng dụng.
Máy chạy các thùng chứa quy trình được gọi là máy chủ chứa. Vì loại phần mềm này khác với các chương trình khác nên các ứng dụng phải bao gồm các thư viện cần thiết. Các tệp nhị phân không thể vi phạm quyền của bất kỳ phần mềm nào khác vì chúng được tách biệt khỏi phần còn lại của hệ thống.
12. Ý nghĩa thực sự của Minikube là gì?
Với Minikube, Kubernetes có thể dễ dàng chạy cục bộ. Điều này cho phép máy ảo lưu trữ cụm Kubernetes với một nút duy nhất.
13. Làm cách nào để giám sát cụm Kubernetes?
Hoạt động và trạng thái của các container hoạt động trong Kubernetes có thể được theo dõi bằng nhiều phương pháp khác nhau. Prometheus, một trong những nhạc cụ thường được sử dụng nhất, có một số bộ phận, được chia nhỏ trong các phần bên dưới.
- Máy chủ Prometheus thu thập và lưu trữ dữ liệu chuỗi thời gian.
- Nó bao gồm các thư viện máy khách hỗ trợ mã ứng dụng thiết bị.
- Nó có một cổng đẩy có thể hỗ trợ các công việc tạm thời.
- Có các nhà xuất khẩu có chức năng chuyên biệt cho nhiều dịch vụ vùng chứa, như StatsD, HAProxy, Graphite, v.v.
- Ngoài ra, bạn sẽ nhận được một trình quản lý cảnh báo để xử lý các thông báo trên các hệ thống hỗ trợ khác nhau.
14. Các nút Kubernetes phục vụ chức năng gì?
Đối với hoạt động của các nhóm, Node cung cấp các chức năng quan trọng. Nods, còn được gọi là tay sai, có thể hoạt động trên bất kỳ máy tính thực hoặc ảo nào tùy thuộc vào cụm.
Trong Kubernetes, nút là máy tính worker chính, trong khi các thành phần chính giám sát từng nút riêng lẻ.
15. Mô tả chi tiết về hipster.
Heapster kết hợp dữ liệu trong toàn bộ cụm mà Kubelet, được thực thi trên mỗi nút, tạo ra. Công cụ quản lý vùng chứa này vốn được hỗ trợ bởi cụm Kubernetes này và nó hoạt động như một nhóm giống như bất kỳ nhóm nào khác trong cụm.
Về cơ bản, điều này đòi hỏi phải định vị mọi nút trong cụm và sử dụng tác nhân Kubernetes trên máy để truy vấn dữ liệu từ các nút Kubernetes của cụm.
16. Mô tả hoạt động của Kubernetes master node.
Nút chính nâng cao các nút cai trị và kiểm soát của nút công nhân. Điều này tương tự như cụm Kubernetes. Các nút chịu trách nhiệm quản lý cụm cũng như API được sử dụng để định cấu hình và quản lý tài nguyên của bộ sưu tập. Do lợi ích của các nhóm chuyên dụng, các nút chính Kubernetes có thể chạy cùng với chính Kubernetes.
17. Điều gì phân biệt container với pod?
Là một đơn vị sao chép, Kubernetes sử dụng một nhóm, là một nhóm các thùng chứa. Vùng chứa là tập hợp các mã mà một nhóm cho ứng dụng sẽ tạo. Trong cùng một nhóm, các vùng chứa có thể giao tiếp với nhau.
18. Bạn hiểu gì về cân bằng tải trong Kubernetes?
Một trong những phương pháp tiếp xúc dịch vụ phổ biến và được chấp nhận nhất là cân bằng tải. Tùy thuộc vào môi trường làm việc, bộ cân bằng tải là bộ cân bằng tải bên trong hoặc bộ cân bằng tải bên ngoài.
Trong khi Bộ cân bằng tải bên ngoài định tuyến lưu lượng từ tải bên ngoài đến các nhóm phụ trợ, thì Bộ cân bằng tải bên trong sẽ tự động cân bằng tải và chỉ định các nhóm với cấu hình cần thiết.
19. Máy chủ Kube-API thực hiện chức năng gì?
Đối với các đối tượng API, loại này xác minh và cung cấp thông tin cấu hình. Nó bao gồm các bộ điều khiển sao chép, dịch vụ và nhóm. Ngoài ra, nó cung cấp các hoạt động REST và giao diện của cụm. Tất cả các thành phần khác giao tiếp với nhau thông qua trạng thái cụm giao diện người dùng chung này.
20. Các bộ trạng thái của Kubernetes có nghĩa là gì?
Một đối tượng API khối lượng công việc được gọi là bộ trạng thái được sử dụng để quản lý các ứng dụng có trạng thái. Nó được sử dụng để mở rộng quy mô các nhóm và quản lý triển khai. Trong bộ lưu trữ đĩa liên kết với tập hợp trạng thái, thông tin trạng thái và dữ liệu có khả năng phục hồi khác của các nhóm trạng thái đã được lưu và cập nhật.
21. Bạn kiểm tra nhật ký trung tâm của nhóm bằng cách nào?
Để truy xuất nhật ký trung tâm từ nhóm, bạn có thể sử dụng một trong hai kiểu ghi nhật ký.
- Sử dụng một tác nhân ghi nhật ký ở cấp nút.
- Thùng sidecar trong luồng
- Sử dụng tác nhân ghi nhật ký cùng với thùng chứa sidecar.
- Xuất trực tiếp nhật ký từ chương trình
22. ClusterIP: Nó là gì?
Dịch vụ Kubernetes mặc định, ClusterIP, cung cấp dịch vụ cụm nội bộ (không có quyền truy cập bên ngoài) mà các ứng dụng khác trong cụm của bạn có thể truy cập.
23. Hãy cho tôi biết về bộ điều khiển sao chép?
Đối với tất cả các nhóm chạy dài, bộ điều khiển sao chép đóng vai trò là người giám sát. Nó đảm bảo rằng số lượng nhóm cần thiết đang hoạt động tại bất kỳ thời điểm nào và mỗi nhóm hoặc nhóm nhóm có cấu trúc nhất quán.
Nếu có nhiều nhóm hơn số lượng dự định, các nhóm dư thừa sẽ bị chấm dứt. Ngoài ra, bộ điều khiển sẽ ngay lập tức thay thế bất kỳ nhóm nào bị lỗi.
24. Mạng Ingress hoạt động như thế nào và nó là gì?
Người dùng có thể truy cập các dịch vụ Kubernetes của bạn từ bên ngoài cụm Kubernetes nhờ một mục gọi là mục nhập. Bằng cách thiết lập các quy tắc chỉ định kết nối gửi đến nào tiếp cận các dịch vụ nhất định, người dùng có thể định cấu hình quyền truy cập.
Đối tượng API này cung cấp các quy tắc định tuyến cần thiết để kiểm soát cách các dịch vụ trong cụm Kubernetes được khách truy cập từ bên ngoài cụm truy cập thông qua HTTPS/HTTP. Với điều này, người dùng có thể xây dựng các quy tắc định tuyến lưu lượng một cách nhanh chóng và hiệu quả mà không cần phải thực hiện một số bộ cân bằng tải hoặc hiển thị mọi dịch vụ cho các nút.
25. Prometheus trong Kubernetes: dùng để làm gì?
Bộ công cụ nguồn mở có tên Prometheus được sử dụng để theo dõi và cảnh báo ứng dụng tùy thuộc vào số liệu. Nó cung cấp một lược đồ dữ liệu và ngôn ngữ truy vấn, đồng thời có thể cung cấp thông tin và hành động về chỉ số. Nó cho phép sử dụng ngôn ngữ cho nhiều mục đích công cụ.
Ngoài Alertmanager và Grafana, nhà điều hành Prometheus cung cấp khả năng giám sát đơn giản cho các dịch vụ triển khai và K8.
26. Dịch vụ không đầu là gì?
Dịch vụ không đầu là dịch vụ sử dụng địa chỉ IP nhưng cung cấp thông tin về các nhóm được kết nối thay vì cân bằng tải.
27. Để chạy kiến trúc Kubernetes cục bộ, tôi cần những gì?
Để tích hợp Kubernetes, một số cơ sở hạ tầng tại chỗ đã được tu sửa. Chuyên môn cấp cao là cần thiết để tích hợp bộ lưu trữ, máy chủ và kết nối mạng thành một hệ thống liền mạch.
Việc chọn phần cứng mạng và lưu trữ phù hợp là điều cần thiết đối với Kubernetes vì nó cho phép tương tác với các tài nguyên dành cho lưu trữ, bộ cân bằng tải, v.v. Tự động hóa các thành phần mạng và lưu trữ là thành phần chính trong đề xuất giá trị của Kubernetes.
28. Bạn hiểu Stateful set là gì?
Mục API khối lượng công việc được gọi là bộ trạng thái được sử dụng để quản lý các ứng dụng có trạng thái. Nó cũng có thể được sử dụng để mở rộng quy mô các nhóm nhóm và quản lý triển khai. Bộ lưu trữ đĩa, được kết nối với bộ trạng thái, chứa thông tin trạng thái và dữ liệu khác cho các nhóm trạng thái.
29. Trong Kubernetes, tay sai nghĩa là gì?
Trong Kubernetes, một nút được gọi là máy công nhân; trước đây, nó được biết đến như một tay sai. Dựa trên một cụm, nó có thể là một máy tính ảo hoặc máy thật.
Mỗi nút được quản lý bởi các thành phần chính của Kubernetes và chứa các dịch vụ cần thiết để vận hành các nhóm. Thời gian chạy bộ chứa, kubelet và Kube-proxy được bao gồm trong các dịch vụ do nút cung cấp.
30. Các dịch vụ thực hiện những chức năng nào trong các thành phần Kubernetes?
Thông qua việc cung cấp địa chỉ IP ảo, một dịch vụ đóng vai trò trừu tượng hóa cho các nhóm. Địa chỉ IP ảo tạo điều kiện cho người dùng kết nối với các vùng chứa chạy bên trong nhóm. Nó là một thành phần xác định cách các thùng chứa được sắp xếp trong các nhóm.
31. Chính xác thì Helm là gì?
Sổ đăng ký quản lý gói ứng dụng Helm do CNF duy trì có sẵn cho Kubernetes. cấu hình sẵn biểu đồ điều khiển có thể được tải xuống và triển khai trong hệ thống Kubernetes của bạn. Một trong những giải pháp quản lý gói phổ biến nhất cho môi trường Kubernetes là giải pháp này. Các nhóm DevOps có thể triển khai các ứng dụng vào môi trường sản xuất và phát triển, tạo phiên bản cho chúng và theo dõi tiến trình của chúng bằng các biểu đồ hiện có.
32. Giải thích PVC
PVC là từ viết tắt của Yêu cầu khối lượng liên tục. Đó là bộ lưu trữ mà Kubernetes đã yêu cầu cho các nhóm. Kiến thức của người dùng về việc cung cấp cơ bản là không cần thiết. Không gian tên nơi nhóm được hình thành và nơi xác nhận quyền sở hữu này sẽ được thực hiện phải khớp.
Kết luận
Các câu hỏi và câu trả lời phỏng vấn Kubernetes đã hoàn tất.
Chắc chắn còn nhiều điều cần tìm hiểu về Kubernetes, công nghệ tiên tiến giúp quản lý và chạy hàng nghìn container trở nên khả thi, nhưng đây là một nơi vững chắc để bắt đầu. Để được trợ giúp chuẩn bị phỏng vấn, xem Loạt bài phỏng vấn của Hashdork.
Bình luận