Tạo lần triển khai đầu tiên của bạn trên Kubernetes Cluster

theanh

Administrator
Nhân viên
Trong bài viết này, chúng ta sẽ xem cách tạo triển khai đầu tiên của bạn trên Kubernetes Cluster. Ví dụ, chúng ta sẽ tạo triển khai cho Nginx.

Khi chúng ta có một cụm Kubernetes đang chạy, chúng ta có thể triển khai các ứng dụng được chứa trong container của mình trên cụm đó. Chúng ta có thể tạo cấu hình KubernetesDeployment để thực hiện điều này.

A Deployment cung cấp các bản cập nhật khai báo cho Pod và ReplicaSet. Chúng ta mô tả trạng thái mong muốn trong Deployment và DeploymentController thay đổi trạng thái thực tế thành trạng thái mong muốn với tốc độ được kiểm soát.

Chúng ta có thể tạo và quản lý Deployment bằng cách sử dụng giao diện dòng lệnh Kubernetes "kubectl". Kubectl sử dụng API Kubernetes để tương tác với cụm.

Có ba giai đoạn trong vòng đời triển khai:
  1. Đang tiến triển: Kubernetes đánh dấu Triển khai là đang tiến triển khi Triển khai tạo một ReplicaSet mới, Triển khai đang mở rộng ReplicaSet mới nhất hoặc thu nhỏ ReplicaSet cũ hơn hoặc Pod mới đã sẵn sàng hoặc khả dụng
  2. Hoàn tất: Kubernetes đánh dấu Triển khai là hoàn tất khi tất cả các bản sao liên quan đến Triển khai đã được cập nhật, khả dụng và không có bản sao cũ nào cho Triển khai đang chạy.
  3. Không thành công: Điều này có thể xảy ra do hạn ngạch không đủ, lỗi thăm dò sẵn sàng, lỗi kéo hình ảnh hoặc không đủ quyền.

Điều kiện tiên quyết​

  1. Tài khoản AWS (Tạo một tài khoản nếu bạn chưa có)
  2. Cụm Kubernetes
Lưu ý: Bạn cũng có thể sử dụng VM để tạo cụm nếu không muốn thử trên AWS EC2 Instances.

Những gì chúng tôi sẽ làm​

  1. Tạo triển khai Kubernetes cho Nginx.

Tạo triển khai Kubernetes cho Nginx​

Để tạo triển khai đầu tiên, chúng ta hãy tạo một thư mục mới để tạo Tệp đối tượng/triển khai. Sử dụng lệnh sau để tạo một thư mục mới trong hệ thống của bạn

mkdir my-first-deployment
cd my-first-deployment/

Trước khi tiếp tục, hãy xác minh trạng thái của cụm.

Để kiểm tra các Nút có sẵn trong cụm và kiểm tra phiên bản của "kubectl", hãy sử dụng các lệnh sau.

sudo kubectl version
sudo kubectl get nodes


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2285%22%3E%3C/svg%3E


Khi bạn có các Node khả dụng trong cụm của mình, bạn đã sẵn sàng để tạo triển khai.

Tạo tệp "my-first-deployment.yml"với khối mã sau

vim my-first-deployment.yml
Mã:
---
apiVersion: apps/v1
kind: Deployment
metadata: name: nginx-deployment labels: app: nginx
spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
Đây,
  • apiVersion:APIVersion định nghĩa lược đồ phiên bản của biểu diễn đối tượng này.
  • kind: Loại đối tượng bạn muốn tạo như Deployment, Service, Configmap, v.v.
  • name: Tênphải là duy nhất trong một không gian tên.
  • labels:Bản đồ các khóa và giá trị chuỗi có thể được sử dụng để sắp xếp và phân loại đối tượng
  • spec:Đặc tả hành vi mong muốn của Triển khai.
  • replicas:Số lượng pod mong muốn.
  • selector:Bộ chọn nhãn cho pod. Các ReplicaSet hiện có có pod được chọn bởi tùy chọn này sẽ là những pod bị ảnh hưởng bởi triển khai này. Nó phải khớp với nhãn của mẫu pod.
Bây giờ bạn đã sẵn sàng tạo triển khai của mình bằng các lệnh sau.

sudo kubectl apply -f my-first-deployment.yml
sudo kubectl get deployments


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22151%22%3E%3C/svg%3E


Trong ảnh chụp màn hình ở trên, bạn có thể thấy rằng triển khai đã được tạo bằng hai pod có thể sử dụng.

Bạn có thể lấy thông tin chi tiết về các pod bằng lệnh sau.

sudo kubectl get pods


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22160%22%3E%3C/svg%3E


Nếu bạn muốn biết thêm về việc triển khai, bạn có thể sử dụng lệnh "kubectl describe" này để lấy thông tin chi tiết đầy đủ về việc triển khai.

sudo kubectl get deployments
sudo kubectl describe deployments nginx-deployment


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22365%22%3E%3C/svg%3E


Nếu bạn không còn cần triển khai nữa, bạn có thể xóa nó bằng cách sử dụng "lệnh xóa kubectl".

sudo kubectl get deployments
sudo kubectl delete deployments nginx-deployment
sudo kubectl get deployments


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22210%22%3E%3C/svg%3E


Trong ảnh chụp màn hình ở trên, bạn có thể thấy rằng triển khai không còn khả dụng nữa sau khi nó bị xóa.

Sau khi bạn xóa triển khai, các pod cũng bị xóa.

Bạn có thể kiểm tra tính khả dụng của các pod bằng lệnh sau.

sudo kubectl get pods


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22129%22%3E%3C/svg%3E


Trong ảnh chụp màn hình ở trên, bạn có thể thấy rằng các pod đã bị xóa sau khi xóa triển khai và không khả dụng.

Kết luận​

Trong bài viết này, chúng ta đã thấy các bước để tạo Triển khai Nginx đầu tiên của bạn trên Kubernetes. Chúng ta cũng đã thấy cách trích xuất thông tin chi tiết liên quan đến triển khai. Cùng với đó, chúng ta đã khám phá các lệnh để xóa triển khai.
 
Back
Bên trên