Docker và Kubernetes

Nhập môn Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Công cụ điều phối container

công cụ điều phối container

  • Ngăn xếp phần mềm hiện đại thường gồm hàng nghìn container riêng lẻ
  • Quản lý các container này gọi là Điều phối container; có nhiều công cụ điều phối
  • Kubernetes có thị phần ước tính trên 95%
Nhập môn Kubernetes

Kubernetes cho điều phối

  • Kubernetes giải quyết các thách thức điển hình của điều phối container, ví dụ:
    • lập lịch và mạng (triển khai ở đâu, kết nối thế nào)
    • gắn lưu trữ vào container ra sao
  • Để làm vậy, Kubernetes tương tác với Container Engine.

Kubernetes và Docker

Nhập môn Kubernetes

Mối quan hệ giữa Docker và Kubernetes

  • Thường Docker là container engine được chọn
  • Kubernetes dùng Docker làm container engine để lập lịch và duy trì container
  • Docker thường dùng cho hai việc:
    • tạo và cập nhật Docker image
    • khởi chạy container từ các image đó
  • Kubernetes không bao giờ tạo Docker image; bạn dùng Docker cho việc này
Nhập môn Kubernetes

Kubernetes Manifest

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 5
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.25.4
        ports:
        - containerPort: 80
  • Các đối tượng Kubernetes (ví dụ: container) được mô tả trong Kubernetes Manifest
  • Manifest là tệp YAML mô tả đối tượng cần có, cấu hình, vị trí lập lịch, và nhiều thứ khác
  • Manifest mang tính khai báo: bạn mô tả cái gì bạn muốn, hay trạng thái cần đạt
  • Không mang tính mệnh lệnh: bạn không mô tả cách thực hiện
Nhập môn Kubernetes

kubectl

kubectl và Kubernetes

  • kubectl là công cụ dòng lệnh để làm việc với Kubernetes
  • kubectl có nhiều lệnh và tùy chọn
  • kubectl đọc Manifest của bạn, gửi tới Kubernetes qua API; Kubernetes sẽ tính toán cách đạt trạng thái mong muốn
  • Phát âm như “cube cuddle” ;-)
Nhập môn Kubernetes

Ayo berlatih!

Nhập môn Kubernetes

Preparing Video For Download...