‫Do tính linh hoạt to lớn mà chúng tôi có
‫với Kubernetes, có rất nhiều phong cách cho cách bạn thực hiện
‫công việc của mình trong hệ thống cụm Kubernetes.
‫Bạn đã nghe tôi nói về điều đó trước đây, phải không.
‫Tôi đã nói với bạn rằng có nhiều cách khác nhau để phù hợp với quy
‫trình làm việc của bạn và bạn có thể sử dụng các lệnh
‫khác nhau theo những cách khác nhau. Vì vậy, điều đó có thể là một thách
‫thức khi bạn đang cố gắng dạy nó bởi vì mọi người thực sự muốn biết họ
‫phải sử dụng nó như thế nào. Giống như cách tốt nhất là gì?
‫Cách thực hành tốt nhất là gì? Điều đó thật khó vì nó thực
‫sự phụ thuộc vào những gì bạn muốn từ nó.
‫Nó là một hệ thống ngày tháng không hấp dẫn.
‫Vì vậy, có rất nhiều cách khác nhau để thực hiện công việc.
‫Đây là nơi tôi cố gắng phá vỡ điều đó.
‫Vì vậy, đây là một chìa khóa quan trọng.
‫Nhưng, tất cả chỉ là học trượt.
‫Tôi sẽ nói chuyện với bạn trong vài phút để cố
‫gắng phá vỡ những khái niệm này và áp dụng cụ thể ý
‫nghĩa của chúng đối với Kubernetes.
‫Trước khi chúng ta đến với các phương pháp tiếp cận được đề xuất,
‫và về cơ bản sẽ có ba chiến lược được
‫đề xuất về cách sử dụng Kubernetes.
‫Đây là lúc tôi cần chia nhỏ một số thuật
‫ngữ này để bạn biết bài giảng tiếp theo đó là gì.
‫Bạn sẽ thấy điều này trong rất nhiều bài đăng trên
‫blog và trong tài liệu. Mệnh lệnh so với Khai báo.
‫Cách tốt nhất để mô tả nó, liên quan đến Kubernetes, là sao
‫lưu và chỉ cần nói ý nghĩa của
‫nó về mặt phần mềm.
‫Khi chúng tôi viết phần mềm một cách chủ quan,
‫chúng tôi tập trung vào cách chương trình đó hoạt
‫động, từng bước, theo thứ tự, lần lượt.
‫Khi chúng ta nói về cách tiếp cận khai báo đối với phần
‫mềm, chúng ta đang mô tả nhiều hơn về những gì nó sẽ đạt được.
‫Mục tiêu cuối cùng của nó là gì?
‫Chúng tôi không quan tâm quá nhiều đến việc nó đến đó bằng cách nào
‫mà chỉ cần nó đến đó. Hãy thử một phép loại suy.
‫Hãy tưởng tượng bạn muốn một tách cà phê.
‫Khi thức dậy vào mỗi buổi sáng, tôi đang tìm
‫kiếm chiếc cốc đầu tiên. Nếu tôi định tự làm, tôi sẽ
‫phải làm điều đó một cách cấp bách.
‫Tôi sẽ phải nghĩ đến việc đun sôi một ít nước.
‫Bước tiếp theo là gì? À, tôi cần một ít hạt cà phê.
‫Sau đó, tôi phải xay những hạt đậu đó. Tôi cần
‫chính xác bao nhiêu? Tôi đổ bao nhiêu nước lên những hạt
‫cà phê đó để có được một tách cà phê hoàn hảo, v.v., đúng không.
‫Tôi đang xem xét từng bước, và tôi đang nghĩ về cách nó được
‫thực hiện, từng bước một.
‫Đó là điều bắt buộc. Khi bạn nhìn vào Kubernetes, chúng ta sẽ nói
‫về điều đó trong giây lát.
‫Chế độ khai báo. Hãy nghĩ về nó nhiều hơn là có thể tôi đang
‫ở một quán cà phê và tôi đang nói chuyện với một nhân viên pha cà phê.
‫Tôi chỉ đơn giản là hỏi họ.
‫Tôi muốn một tách cà phê.
‫Công việc duy nhất của tôi là yêu
‫cầu một tách cà phê và họ sẽ tính toán, hey.
‫Tôi có cần phải làm lại từ đầu không? Có một cái đã được
‫làm trong nồi? Hay là cái nồi quá cũ?
‫Họ có thể làm... họ có thể... có thể phải thử lại
‫ba lần để pha tách cà phê vì họ làm
‫nó lộn xộn. Tốt rồi.
‫Tôi không hỏi họ làm như thế nào.
‫Tôi yêu cầu họ pha cho tôi một tách cà phê.
‫Hãy áp dụng điều này cho các lệnh bạn
‫sẽ sử dụng trong Kubernetes. Hãy tập trung vào mệnh lệnh,
‫đó là những gì bạn đã học được phần lớn cho đến
‫nay bởi vì cách bắt đầu học bất kỳ công cụ nào cũng mang
‫tính chất cấp bậc. Bạn sẽ làm những
‫việc này theo thứ tự cần thực hiện và bạn đang
‫hướng dẫn rõ ràng về cách thực hiện.
‫Các lệnh này, như kubectl chạy, tạo triển khai
‫và cập nhật, mà chúng tôi chưa đề cập hoặc chỉnh sửa.
‫Đây là các loại lệnh khác nhau
‫mà bạn sẽ bắt đầu ở trạng thái mà bạn biết.
‫Khi bạn sử dụng lệnh tạo triển
‫khai, bạn biết rằng triển khai chưa được tạo.
‫Vì vậy, bạn đang sử dụng tạo, phải.
‫Nếu bạn muốn cập nhật hoặc chỉnh sửa điều gì đó, bạn rõ ràng đang sử
‫dụng lệnh đó để thực hiện điều đó.
‫Điều thú vị ở đây đối với dòng lệnh và nhập vào CLI
‫là các lệnh khác nhau được sử dụng cho các loại hành động khác
‫nhau, cho dù đó là tạo, cập nhật hoặc xóa.
‫Điều đó dễ dàng hơn cho bộ não của chúng ta để ghi nhớ vì chúng ta biết
‫hành động mà chúng ta đang thực hiện.
‫Chỉ cần nhớ rằng mệnh lệnh sẽ dễ dàng
‫hơn khi bạn đã biết trạng thái của đối tượng hoặc tài nguyên
‫và bạn chỉ mới bắt đầu sử dụng các công cụ.
‫Vì vậy, bạn muốn suy nghĩ rõ ràng, OK, tôi cần tạo một dịch vụ
‫và dịch vụ đó cần phải là một bộ cân bằng tải.
‫Bạn biết điều đó. Sau đó, trong tâm trí con
‫người chúng ta sẽ dễ dàng nhập những thứ này vào CLI hơn.
‫Thật không may là nó không dễ dàng để
‫tự động hóa. Đó là một trong những hạn
‫chế lớn nhất của loại công việc này là rất
‫khó để có được một tập lệnh hoặc công cụ tự động, để
‫tự động xử lý, Ồ, đây có phải là bản cập nhật
‫mà bạn muốn không? Hay đây là một sự sáng tạo?
‫Hay đây là một sự xóa? Như bạn biết đấy,
‫tôi phải làm gì ở đây? Thật khó cho chúng tôi để tự động hóa
‫loại công việc đó. Nó dễ dàng trong đầu của chúng tôi.
‫Dễ dàng để chúng tôi nhập CLI. Rất khó để chúng tôi tự động hóa.
‫Hãy nhớ rằng, khai báo có nghĩa là chúng ta không thực sự biết trạng thái.
‫Nhớ cà phê. Tôi không biết họ có cà
‫phê hay không. Họ có thể đã có một số được thực hiện. Họ có thể
‫phải làm một số từ đầu.
‫Tôi không biết trạng thái.
‫Tôi chỉ biết kết quả cuối cùng mà tôi muốn.
‫Điều đó thực sự phù hợp với một mô hình khai báo.
‫Một số lợi ích ở đây đối với chúng tôi và
‫đối với tự động hóa, là cùng một lệnh, thông thường bạn
‫sẽ sử dụng lệnh áp dụng, áp dụng kubectl.
‫Cùng một lệnh đó có thể được sử dụng bất kể
‫chúng ta đang tạo, cập nhật, hoặc thậm chí
‫có thể xóa tài nguyên. Nếu bạn bắt đầu nhìn vào YAML, chúng ta
‫sẽ đi vào đây trong một phút nữa.
‫YAML đó có thể nằm trong một tệp duy nhất.
‫Bạn có thể gộp nhiều loại tài nguyên khác nhau
‫vào một YAML duy nhất. Hoặc, bạn có thể chia chúng thành một
‫đối tượng duy nhất trong mỗi tệp YAML trong một thư mục duy nhất và bạn
‫có thể sử dụng một lệnh để áp dụng toàn bộ thư mục.
‫Có rất nhiều lựa chọn ở đó.
‫Lý do chúng tôi không bắt đầu sử dụng phương pháp này là một trong
‫những lý do, chúng tôi không phải lúc nào cũng cần.
‫Nó thêm một chút phức tạp vì bạn phải tạo tệp
‫này và tất cả những thứ trong đó, trước khi bạn có
‫thể làm được.
‫Bạn có thể không có những thứ đó từ đầu, và bạn không
‫nhất thiết muốn tạo chúng chỉ để tạo một
‫nhóm hay thứ gì đó, đúng không. Vì vậy, bắt đầu, CLI có ý nghĩa.
‫Sử dụng các lệnh mệnh lệnh tiêu chuẩn có ý nghĩa.
‫Tuy nhiên, khi bạn bắt đầu nghĩ về sản xuất và
‫tự động hóa, và thực hiện quá trình cập nhật lặp đi
‫lặp lại này, giống như bạn đang làm, thì bạn
‫bắt đầu nghĩ về, OK. Tôi cần một cách tiếp cận khai báo hơn.
‫Thách thức ở đó là bạn phải biết tất cả các khóa
‫và cài đặt YAML đó, và bạn chỉ cần bắt đầu lại từ đầu
‫và xây dựng kiến thức chuyên môn của mình theo thời gian về tất cả các cách
‫và những thứ bạn cần đưa vào YAML này.
‫Điều tuyệt vời ở đây là khoản đầu tư của
‫bạn không hề lãng phí. Trong khi bạn đang hoàn
‫thành một số việc cơ bản trong Kubernetes bằng cách
‫nhập CLI's như kubectl run hoặc create.
‫Trong thời gian đó, bạn đang xem YAML với lệnh
‫đầu ra, hãy nhớ -o yaml.
‫Bạn có thể xem đầu ra của YAML.
‫Có những cách khác mà chúng ta có thể xem xét YAML.
‫Chúng tôi bắt đầu xây dựng kiến thức của mình về những
‫gì YAML phải trông như thế nào để một khi bạn tiếp cận với thế
‫giới trong quá trình sản xuất, nơi về cơ bản bạn đang làm YAML
‫cả ngày, bạn sẽ quen thuộc hơn một chút với cách
‫nó vỡ ra. Cách YAML này
‫là cách dễ nhất để tự động hóa việc điều phối của bạn.
‫Đây cũng là cách dễ dàng nhất để đạt
‫được hạnh phúc. Chúng ta sẽ không nói nhiều về
‫những việc cần làm trong khóa học này. Tôi khuyên bạn
‫nên sử dụng Google vì nó là một loại
‫công việc DevOps sử dụng công cụ lấy làm
‫nguồn chân lý của bạn.
‫Về cơ bản, mỗi khi bạn muốn thay đổi môi trường của
‫mình, bạn sẽ chỉnh sửa một số YAML.
‫Bạn thực hiện lệnh áp dụng.
‫Bạn thực hiện một cam kết nhận. Bây giờ bạn có nhật
‫ký nhận mọi thứ bạn đã làm. Đó là một trong những
‫thuộc tính của mô hình hoạt động get-ops và thực hiện điều này với
‫khai báo là cách bạn đạt được điều đó.
‫Hãy xem ba cách mà nhóm Kubernetes nghĩ rằng chúng
‫ta nên sử dụng dòng lệnh Kubernetes.