Thuật ngữ chuẩn hóa

Bảng chú giải này được kì vọng là một danh sách hoàn thiện, được chuẩn hóa về thuật ngữ Kubernetes. Nó bao gồm các thuật ngữ kỹ thuật dành riêng cho Kubernetes, cũng như các thuật ngữ chung hơn cung cấp ngữ cảnh hữu ích

Lọc các thuật ngữ theo tags

The inner components of Kubernetes.
Related to Kubernetes open-source development.
A resource type that Kubernetes supports by default.
Supported customizations of Kubernetes.
Relevant for a first-time user of Kubernetes.
How Kubernetes components talk to each other (and to programs outside the cluster).
Starting and maintaining Kubernetes.
Keeping Kubernetes applications safe and secure.
How Kubernetes applications handle persistent data.
Software that makes Kubernetes easier or better to use.
Represents a common type of Kubernetes user.
Applications running on Kubernetes.
Architecture Community Core Object Extension Fundamental Networking Operation Security Storage Tool User Type Workload Chọn tất cả Bỏ chọn tất cả

Click vào [+] danh mục dưới đây để giải thích rõ hơn cho các thuật ngữ cụ thể

  • API Group

    Một tập những đường dẫn tương đối đến Kubernetes API.

    [+]

    Bạn có thể cho phép hay vô hiệu từng API group bằng cách thay đổi cấu hình trên API server của mình. Đồng thời bạn cũng có thể vô hiệu hay kích hoạt các đường dẫn cho những tài nguyên cụ thể. API group đơn giản hóa việc mở rộng Kubernetes API. Nó được chỉ định dưới dạng REST và trong trường apiVersion của một đối tượng đã được chuyển hóa.

  • API server
    Cũng được biết đến như là:kube-apiserver

    API server là một thành phần của Kubernetes control plane, được dùng để đưa ra Kubernetes API. API server là front end của Kubernetes control plane.

    [+]

    Thực thi chính của API server là kube-apiserver. kube-apiserver được thiết kế để co giãn theo chiều ngang — có nghĩa là nó co giãn bằng cách triển khai thêm các thực thể. Bạn có thể chạy một vài thực thể của kube-apiserver và cân bằng lưu lượng giữa các thực thể này.

  • Biến môi trường trong Container

    Biến môi trường của container là một cặp Tên-Giá trị nhằm cung cấp những thông tin hữu ích vô trong những containers bên trong một Pod.

    [+]

    Biến môi trường của container cung cấp thông tin cần thiết cho mỗi ứng dụng cùng với những thông tin về những resources quan trọng đối với Containers đó. Ví dụ, thông tin chi tiết về file system, thông tin về bản thân của chính container đó, và những resources khác ở trong cluster như điểm kết của một services.

  • Bộ chọn (Selector)

    Cho phép người dùng lọc ra một danh sách tài nguyên dựa trên labels (nhãn).

    [+]

    Selectors được áp dụng khi truy vấn những danh sách tài nguyên để lọc dựa trên labels chúng được đánh.

  • cgroup (control group)

    Một nhóm các process trên Linux với sự tùy chọn trong cô lập tài nguyên, trách nhiệm và giới hạn.

    [+]

    cgroup là một tính năng của Linux kernel giúp giới hạn, giao trách nhiệm, và cô lập việc sử dụng các tài nguyên trên máy (CPU, memory, disk I/O, network) cho một tập các process.

  • Chú thích (Annotation)

    Một cặp khóa-giá trị được sử dụng để đính kèm tùy ý một metadata không xác định cụ thể vào các đối tượng.

    [+]

    Metadata (siêu dữ liệu) có trong một annotation có thể nhỏ hoặc lớn, có cấu trúc hoặc không, và có thể bao gồm những kí tự không được cho phép như Labels. Các công cụ và thư viện ở phía client có thể thu thập những metadata này.

  • Cluster

    Một tập các worker machine, được gọi là node, dùng để chạy các containerized application. Mỗi cụm (cluster) có ít nhất một worker node.

    [+]

    Các worker node chứa các pod (là những thành phần của ứng dụng). Control Plane quản lý các worker node và pod trong cluster. Trong môi trường sản phẩm (production environment), Control Plane thường chạy trên nhiều máy tính và một cluster thường chạy trên nhiều node, cung cấp khả năng chịu lỗi (fault-tolerance) và tính sẵn sàng cao (high availability).

  • Container

    Một image nhẹ, khả chuyển và có khả năng thực thi, chứa phần mềm và tất cả các dependencies của nó.

    [+]

    Containers tách rời các ứng dụng khỏi hạ tầng máy chủ nhằm giúp cho việc triển khai dễ dàng hơn trên từng hệ thống cloud hay hệ điều hành khác nhau, và đơn giản hóa việc nhân rộng.

  • Container runtime interface (CRI)

    Container runetime interface (CRI) là một API phục vụ cho việc tích hợp container runtimes với kubelet trên một node.

    [+]

    Để biết thêm chi tiết, đọc thêm về CRI API.

  • containerd

    Một container runtime tập trung vào sự đơn giản, mạnh mẽ và linh động.

    [+]

    containerd là một container runtime cái mà chạy như một daemon trên Linux hoặc Windows. containerd quan tâm tới việc lấy và lưu trữ các container image, thực thi các container, cung cấp truy cập mạng, và nhiều hơn nữa.

  • Control Plane
    Tầng điều khiển container, được dùng để đưa ra API và các interface để định nghĩa, triển khai, và quản lý vòng đời của các container. [+]

    Tầng điều khiển container, được dùng để đưa ra API và các interface để định nghĩa, triển khai, và quản lý vòng đời của các container.

  • CRI-O

    Một công cụ giúp bạn sử dụng các OCI container runtime với Kubernetes CRI.

    [+]

    CRI-O là một thực thi của Container runtime interface (CRI) để cho phép sử dụng các container runtime cái mà tương thích với Open Container Initiative (OCI) runtime spec.

    Triển khai CRI-O cho phép Kuberentes sử dụng bất kì OCI-compliant runtime như container runtime để chạy Pods, và để lấy CRI container image từ các remote registry.

  • CustomResourceDefinition

    Những đoạn custom code chỉ định một loại tài nguyên được thêm vào Kubenretes API server mà không cần thiết phải xây dựng một custom server hoàn chỉnh.

    [+]

    Custom Resource Definitions cho phép bạn có thể mở rộng Kubernetes API cho môi trường của bạn trong trường hợp những API được cung cấp sẵn không đáp ứng được các nhu cầu của bạn.

  • DaemonSet

    Đảm bảo một bản sao của Pod đang chạy trên một tập các node của cluster.

    [+]

    Được sử dụng để deploy những system daemon ví dụ như log collector, monitoring agent, những cái thường phải chạy trên mọi Node.

  • Deployment

    Một API object quản lý việc nhân rộng bản sao của ứng dụng.

    [+]

    Mỗi bản sao là một đại diện diện cho một Pod, và các pods này được phân bố giữa các nodes trong cluster.

  • Docker

    Docker (cụ thể là Docker Engine) là một công nghệ phần mềm thực hiện việc ảo hóa tầng hệ điều hành, còn được gọi là container.

    [+]

    Docker sử dụng khả năng cô lập các tài nguyên của Linux kernel như cgroups và kernel namespaces, cùng với một hệ thống tệp tin có khả năng kết hợp như OverlayFS và một vài thành phần khác để các containers có thể chạy độc lập trên cùng một máy Linux, tránh được việc bị overhead khi khởi động và bảo trì máy ảo (VMs).

  • etcd

    Key value store nhất quán (consistent) và sẵn sàng cao (highly-available) được sử dụng như một kho lưu trữ của Kubernetes cho tất cả dữ liệu của cluster.

    [+]

    Nếu Kubernetes cluster của bạn sử dụng etcd như kho lưu trữ của nó, chắc chắn bạn có một kế hoạch back up cho những dữ liệu này.

    Bạn có thể tìm thêm thông tin chi tiết về etcd tại documentation.

  • kube-proxy

    kube-proxy là một network proxy chạy trên mỗi node trong cluster, thực hiện một phần Kubernetes Service.

    [+]

    kube-proxy duy trình network rules trên các node. Những network rules này cho phép kết nối mạng đến các pods từ trong hoặc ngoài cluster.

    Kube-proxy sử dụng lớp packet filtering của hệ điều hành nếu có sẵn. Nếu không thì kube-proxy sẽ tự điều hướng network traffic.

  • kube-scheduler

    Thành phần của Control Plane, được dùng để giám sát việc tạo những pod mới mà chưa được chỉ định vào node nào, và chọn một node để chúng chạy trên đó.

    [+]

    Những yếu tố trong những quyết định lập lịch bao gồm những yêu cầu về tài nguyên, những đòi hỏi về phần cứng/phần mềm/chính sách, những thông số về affinity và anti-affinity, dữ liệu tại chỗ (data locality), nhiễu inter-workload và thời hạn (deadline).

  • Kubelet

    Một agent chạy trên mỗi node nằm trong cluster. Nó giúp đảm bảo rằng các containers đã chạy trong một pod.

    [+]

    Kubelet sẽ nhận một tập các PodSpecs (đặc tính của Pod) được cung cấp thông qua các cơ chế khác nhau và bảo đảm rằng containers được mô tả trong những PodSpecs này chạy ổn định và khỏe mạnh. Kubelet không quản lý những containers không được tạo bởi Kubernetes.

  • Nhãn (Label)

    Gán nhãn các đối tượng (tags objects) với các thuộc tính xác định, có ý nghĩa và có liên quan tới người dùng.

    [+]

    Labels là những cặp key/value gắn liền với những đối tượng như pod. Chúng được dùng để tổ chức và chọn lựa giữa những tập hợp con của các đối tượng này.

  • Node

    Một node là một máy worker trong Kubernetes

    [+]

    Một worker node có thể là một máy tính ảo hay máy tính vậy lý, tùy thuộc vào cluster. Nó bao gồm một số daemons hoặc services cần thiết để chạy các Pods và được quản lý bởi control plane. Daemons trên một node bao gồm kubelet, kube-proxy, và một container runtime triển khai theo CRI như Docker.

  • Pod

    Đối tượng nhỏ nhất và đơn giản nhất của Kubernetes. Một Pod đại diện cho một tập các containers đang chạy trên cluster.

    [+]

    Một Pod thường được set up để chạy với một container chính yếu. Nó đồng thời có thể chạy kèm với các sidecar containers giúp bổ trợ thêm một số tính năng như thu thập log. Các Pods thường được quản lý bởi một Deployment.

  • Service

    Một cách để thể hiện ứng dụng đang chạy trong một tập các Pods dưới dạng dịch vụ mạng.

    [+]

    Một tập các Pods được một Service nhắm đến (thường) được xác định với một selector. Nếu có nhiều Pods được thêm vào hay xóa đi, tập những Pods hợp với selector sẽ thay đổi. Service đảm bảo network traffic có thể đến tới tập những Pods để giải quyết công việc.

  • Taint

    Là một đối tượng bao gồm ba thuộc tính bắt buộc: key, value, và effect. Taints (dấu chờ) ngăn cản việc lập lịch cho các pod chạy trên các node hay nhóm các node.

    [+]

    Taints (dấu chờ) và tolerations hoạt động cùng với nhau để đảm bảo rằng các pod sẽ không lập lịch chạy lên những node không phù hợp. Có thể đặt một hoặc nhiều hơn một dấu chờ lên node. Một node chỉ có thể lập lịch chạy cho một pod với tolerations phù hợp với những dấu taint được cấu hình.

  • Ứng dụng
    Một lớp nơi các ứng được đã được containerized chạy. [+]

    Một lớp nơi các ứng được đã được containerized chạy.

  • Vòng điều khiển (Controller)

    Trong hệ thống Kubernetes, các bộ controllers là các vòng lặp điều khiển theo dõi trạng thái của mỗi cluster, sau đó chúng sẽ tạo hoặc yêu cầu sự thay đổi cần thiết. Mỗi controller cố thực hiện việc thay đổi để giúp hệ thống chuyển từ trạng thái hiện tại sang trạng thái mong muốn.

    [+]

    Vòng điều khiển lặp lại theo dõi trạng thái chung của cluster thông qua Kubernetes API server (một thần phần của Control Plane).

    Một vài controllers chạy bên trong control plan, cung cấp các vòng lặp điều khiển vận hành nhân gốc của các hoạt động trong hệ thống Kubernetes. Ví dụ: với deployment controller, daemonset controller, namespace controller, và persistent volume controller (và một vài controller còn lại) đều chạy bên trong kube-controller-manager.

Last modified February 22, 2023 at 9:09 AM PST: 更新编辑 (f4a7975)