Deployment đại diện cho một tập hợp các Pod giống hệt nhau. Deployment chạy nhiều bản sao của ứng dụng. Nó tự động thay thế bất kỳ phiên bản nào bị lỗi. Nó giúp đảm bảo rằng một hoặc nhiều phiên bản của ứng dụng luôn hoạt động. Deployment được quản lý bởi bộ điều khiển triển khai Kubernetes. Triển khai sử dụng mẫu aPod, chứa thông số kỹ thuật cho các Pod của nó.
AKubernetesdeployment là một đối tượng tài nguyên trong Kubernetes cung cấp các bản cập nhật khai báo cho các ứng dụng.
Để biết thêm thông tin về thông số kỹ thuật Triển khai, hãy xem Tài liệu API Kubernetes
Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo triển khai trong Kubernetes và thực hiện các hoạt động trên nó.
Nếu bạn muốn tìm hiểu cách tạo Cụm Kubernetes, hãy nhấp vào đây. Hướng dẫn này sẽ giúp bạn tạo cụm Kubernetes với 1 Master và 2 Node trên AWS Ubuntu 18l04 EC2 Instances.
Trong ví dụ này:
Sử dụng lệnh sau để tạo triển khai
Sau khi tạo triển khai, bạn có thể lấy thông tin chi tiết bằng lệnh sau.
Triển khai đã tạo một tập hợp bản sao, để liệt kê tập hợp này, hãy sử dụng lệnh sau.
Các pod do thereplica-set tạo ra có thể được liệt kê bằng lệnh sau, lệnh này sẽ liệt kê các pod khớp với tên đã chỉ định.
Bây giờ, bạn có thể kiểm tra việc tự động tạo pod nếu pod hiện tại không thành công bằng cách xóa nó.
Để xóa pod hiện tại, hãy sử dụng các lệnh sau.
Trong ảnh chụp màn hình ở trên, bạn có thể thấy pod được tạo sau khi xóa pod hiện có.
Bây giờ, ngay cả khi bộ bản sao bị xóa, quá trình triển khai sẽ tạo nó.
Để kiểm tra điều này, hãy xóa bộ bản sao bằng lệnh sau.
Trong ảnh chụp màn hình ở trên, bạn có thể thấy rằng ngay cả sau khi xóa bộ bản sao, nó vẫn được tạo.
Để xem thêm một chút thông tin về pod, có thể sử dụng "-o wide" trong lệnh như sau.
Để có được thông tin đầy đủ về pod, có thể mô tả bằng lệnh sau.
Bây giờ, nếu bạn không cần triển khai ứng dụng của mình bằng triển khai nữa, bạn có thể xóa ứng dụng bằng cách xóa triển khai.
Sử dụng các lệnh sau để xóa triển khai.
Trong ảnh chụp màn hình ở trên, bạn có thể thấy rằng sau khi xóa triển khai, nó không được tạo. Nhưng nếu bạn xóa pod hoặc replicaset được tạo trong quá trình triển khai thì chúng sẽ được tạo.
AKubernetesdeployment là một đối tượng tài nguyên trong Kubernetes cung cấp các bản cập nhật khai báo cho các ứng dụng.
Để biết thêm thông tin về thông số kỹ thuật Triển khai, hãy xem Tài liệu API Kubernetes
Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo triển khai trong Kubernetes và thực hiện các hoạt động trên nó.
Điều kiện tiên quyết
Cụm Kubernetes có ít nhất 1 nút công nhân.Nếu bạn muốn tìm hiểu cách tạo Cụm Kubernetes, hãy nhấp vào đây. Hướng dẫn này sẽ giúp bạn tạo cụm Kubernetes với 1 Master và 2 Node trên AWS Ubuntu 18l04 EC2 Instances.
Những gì chúng ta sẽ làm
Tạo triển khaiTạo triển khai
Tạo tệp và thêm định nghĩa triển khai sau vào đó.
Mã:
vim my-deployment.yaml
Mã:
apiVersion: apps/v1kind: Triển khaimetadata: labels: app: httpd-frontend name: httpd-frontendspec: replicas: 1 selector: matchLabels: app: httpd-frontend template: metadata: labels: app: httpd-frontend spec: containers: - image: httpd:2.4-alpine name: httpd
Trong ví dụ này:
- Một Triển khai có tên httpd-frontend sẽ được tạo, được chỉ định bởi trường metadata: name.
- Triển khai sẽ tạo 1 bản sao của Pod, được chỉ định bởi trường bản sao.
- Mẫu Pod hoặc trường spec: template cho biết các Pod của nó được gắn nhãn ứng dụng: httpd-frontend.
- Đặc tả của mẫu Pod hoặc trường template: spec cho biết các Pod chạy một vùng chứa, httpd, chạy httpd:image ở phiên bản 2.4-alpine.
Sử dụng lệnh sau để tạo triển khai
Mã:
kubectl create -f my-deployment.yaml
Mã:
kubectl get deployment | grep httpd-frontend
Triển khai đã tạo một tập hợp bản sao, để liệt kê tập hợp này, hãy sử dụng lệnh sau.
Mã:
kubectl get replicaset | grep httpd-frontend
Các pod do thereplica-set tạo ra có thể được liệt kê bằng lệnh sau, lệnh này sẽ liệt kê các pod khớp với tên đã chỉ định.
Mã:
kubectl get pods | grep httpd-frontend
Bây giờ, bạn có thể kiểm tra việc tự động tạo pod nếu pod hiện tại không thành công bằng cách xóa nó.
Để xóa pod hiện tại, hãy sử dụng các lệnh sau.
Mã:
kubectl get pods | grep httpd-frontend
Mã:
kubectl delete pod httpd-frontend-74fd6fd8cd-8nj2s
Mã:
kubectl get pods | grep httpd-frontend
Trong ảnh chụp màn hình ở trên, bạn có thể thấy pod được tạo sau khi xóa pod hiện có.
Bây giờ, ngay cả khi bộ bản sao bị xóa, quá trình triển khai sẽ tạo nó.
Để kiểm tra điều này, hãy xóa bộ bản sao bằng lệnh sau.
Mã:
kubectl get replicaset | grep httpd-frontend
Mã:
kubectl delete replicaset httpd-frontend-74fd6fd8cd
Mã:
kubectl get replicaset | grep httpd-frontend
Trong ảnh chụp màn hình ở trên, bạn có thể thấy rằng ngay cả sau khi xóa bộ bản sao, nó vẫn được tạo.
Để xem thêm một chút thông tin về pod, có thể sử dụng "-o wide" trong lệnh như sau.
Mã:
kubectl get pods | grep httpd-frontend
Mã:
kubectl get pods -o wide | grep httpd-frontend
Để có được thông tin đầy đủ về pod, có thể mô tả bằng lệnh sau.
Mã:
kubectl describe pod httpd-frontend
Bây giờ, nếu bạn không cần triển khai ứng dụng của mình bằng triển khai nữa, bạn có thể xóa ứng dụng bằng cách xóa triển khai.
Sử dụng các lệnh sau để xóa triển khai.
Mã:
kubectl get deployment | grep httpd-frontend
Mã:
kubectl xóa triển khai httpd-frontend
Mã:
kubectl lấy triển khai | grep httpd-frontend
Trong ảnh chụp màn hình ở trên, bạn có thể thấy rằng sau khi xóa triển khai, nó không được tạo. Nhưng nếu bạn xóa pod hoặc replicaset được tạo trong quá trình triển khai thì chúng sẽ được tạo.