‫Hy vọng rằng nội dung YAML này bắt đầu có
‫ý nghĩa và đây là nơi chúng ta học cách tạo
‫YAML về cơ bản này từ đầu.
‫Khi tôi bắt đầu học định dạng Kubernetes
‫YAML, ban đầu tôi chỉ bắt đầu sử dụng các
‫ví dụ tài liệu, phải, từ tài liệu của
‫họ trên kubernetes. io trang web, hoặc có thể từ những nơi khác.
‫Vấn đề ở những nơi khác, cũng giống như Docker, là những blog đó
‫và những thứ khác, tất cả đều trở nên lỗi thời.
‫Vấn đề về Kubernetes là một số thứ đã thay
‫đổi theo thời gian, đặc biệt là khi
‫nói đến những thứ như triển khai, nhóm và các nội dung
‫cốt lõi khác. Họ đã chỉnh sửa định dạng của mình.
‫Các phiên bản trong API đã thay đổi.
‫Chúng tôi muốn duy trì
‫nội dung hiện tại, có nghĩa là bạn cần biết
‫cách bắt đầu lại từ đầu. Làm thế nào để bạn biết khi nào các tệp
‫của bạn cần thay đổi thay vì chỉ đi và đọc lại tài liệu
‫một cách ngẫu nhiên để xem liệu có gì thay đổi, đúng không.
‫Phần này, tôi nghĩ, là một kỹ năng mà tôi đã
‫mất một lúc để tìm ra thứ này và cách
‫tạo một tệp mà không cần sử dụng một
‫số loại mẫu có sẵn. Chúng ta đã nói về bốn
‫loại trong bài giảng trước, và khóa gốc của loại,
‫là loại tài nguyên, là điều tôi muốn tập
‫trung vào đầu tiên. Bởi vì bạn có thể nhận được danh sách những người đó trong một cụm.
‫Trong các cụm kiểm tra thiết lập của chúng tôi, hầu hết chúng sẽ
‫giống nhau giữa tất cả chúng tôi.
‫Khi bạn bắt đầu sản xuất và bạn bắt đầu thêm
‫nội dung của bên thứ ba vào cụm của mình, danh sách này sẽ dài
‫hơn tùy thuộc vào những gì bạn đang sử dụng vì các công
‫cụ của bên thứ ba có thể thêm các đối tượng tài nguyên
‫mới vào API.
‫Hãy làm một api-tài nguyên kubectl.
‫Bạn sẽ nhận lại được ít nhất hàng chục đối tượng
‫khác nhau mà chúng ta có thể cuộn qua và
‫nói hàng giờ.
‫Chúng tôi sẽ không làm điều đó.
‫Chúng ta đã nói về một vài trong số chúng
‫như Triển khai và Nhóm, và Bản sao Bộ và Dịch vụ.
‫Đó là những thứ ngoài hộp tiêu chuẩn.
‫Rất nhiều phần còn lại của điều này bạn có thể không bao giờ chạm vào.
‫Đó là điều về Kubernetes là có quá nhiều thứ
‫mà bạn có thể không bao giờ thực sự cần
‫tất cả sức mạnh từ nó. Không quan trọng là bạn phải học
‫qua và ghi nhớ tất cả những điều này.
‫Bạn sẽ nhận thấy cột loại này ở bên phải.
‫Đó là những gì có trong tệp YAML của chúng tôi.
‫Nếu chúng tôi muốn tạo một nhóm, bạn có thể thấy rằng có một
‫nhóm tốt ở đây. Nếu chúng ta muốn tạo một
‫triển khai, có một loại được gọi là triển khai.
‫Bạn cũng sẽ thấy nhóm API.
‫Nhóm API đó có liên quan đến phiên
‫bản API. Bạn sẽ thấy điều đó sau một giây.
‫Điều này không chính xác cung cấp cho chúng tôi một hướng dẫn
‫sử dụng theo quy định. Nhưng, nếu tôi đang ngồi đây
‫và tôi nói, tôi cần tạo một nhóm, tôi sẽ xem qua danh sách này để
‫tìm các nhóm trong loại tài nguyên.
‫Tôi sẽ thấy loại nó là.
‫Đó là những gì tôi biết tôi cần đưa vào YAML của mình.
‫Tôi sẽ xem liệu có bất kỳ nhóm API nào không vì
‫điều đó sẽ cho tôi biết nơi tìm các phiên bản mà tôi có
‫thể sử dụng, bởi vì bạn có thể
‫đã xem các tài liệu khác nhau về việc triển khai.
‫Bởi vì việc triển khai có nhiều phiên bản theo thời gian.
‫Đã có v1beta1, v1beta2.
‫Nó thậm chí còn được di chuyển trong API vì có những thứ cũ và
‫những thứ mới, vì vậy nó có thể hơi khó hiểu.
‫Nếu bạn nhìn vào danh sách này, bạn sẽ thực sự thấy
‫rằng có những triển khai ở trên đây và
‫có những triển khai ở dưới đây.
‫Sự khác biệt duy nhất giữa hai là
‫hàng giữa này, nhóm API.
‫Nhóm API đó là nơi trong API loại tài
‫nguyên này có thể được truy cập,
‫tạo, xóa, v.v.
‫Điều này có chút nguy hiểm, nhưng một khi bạn bắt đầu làm việc
‫với công cụ này, bạn sẽ phải dành một
‫chút thời gian khi gặp các trường hợp như thấy hai
‫kiểu triển khai ở đây.
‫Tôi sử dụng cái nào?
‫Chà, bạn bắt đầu tiến hành nghiên cứu và bạn sẽ
‫tìm thấy, trong tài liệu hoặc trong chính hướng dẫn API mà
‫chúng ta sẽ xem xét một chút.
‫Bạn sẽ thấy nội dung đó ở đó nó sẽ cho bạn biết
‫một thứ không được dùng nữa và một thứ đang chuyển
‫sang một thứ khác và trong trường hợp này với các triển khai, phiên
‫bản mới của nó, trong phiên bản mới nhất, là API của ứng dụng.
‫Lệnh tiếp theo đi kèm với điều đó,
‫để giúp chúng ta có bức tranh tốt hơn về
‫loại này, cùng với phiên bản API, là lệnh phiên bản
‫API kubectl.
‫Điều đó cung cấp cho chúng tôi một danh sách ngắn hơn,
‫chỉ là các phiên bản API khác nhau mà chúng tôi
‫cần phải lo lắng. Trong trường hợp triển khai,
‫bạn sẽ thấy ở đây có một cái gì đó quen thuộc.
‫Hãy nhớ rằng, chúng tôi đã thấy rằng có một ứng dụng và có
‫một tiện ích mở rộng để triển khai.
‫Chúng ta sẽ thấy những thứ đó hiển thị ở đây.
‫Về mặt kỹ thuật, có các phần mở
‫rộng của v1beta1 API. Có API ứng dụng mà bạn
‫có thể thấy ba phiên bản khác nhau ở đó.
‫Bạn có thể muốn sử dụng các ứng dụng V1, không phải
‫các phiên bản beta cũ hơn.
‫Tuy nhiên, bạn có thể thấy nơi API đang giữ các
‫phiên bản không dùng nữa của API này khi nó tung ra
‫các phiên bản mới.
‫Theo cách đó, về cơ bản, YAML cũ của bạn sẽ không bị hỏng cho đến
‫khi có nhiều phiên bản trôi qua và chúng kéo mọi thứ ra khỏi
‫API khi nó không còn cần thiết nữa.
‫Điều thường xảy ra trong suốt thời gian tồn tại
‫của YAML của bạn, nếu bạn đang ở trong những ngày
‫đầu của Kubernetes, là bạn có thể đang sử dụng tệp
‫YAML có phần mở
‫rộng / v1beta1 cho phiên bản API và loại này là
‫các triển khai.
‫Tuy nhiên, vì API đó đã
‫thay đổi và hiện họ đang gọi nó là API
‫ứng dụng và phiên bản khác nhau, bạn vẫn có thể
‫triển khai, nhưng bạn sẽ thay đổi phiên bản API đó
‫thành ứng dụng / v1 ngay bây giờ.
‫Cách tôi biết điều đó là bởi vì tôi đã phải tìm kiếm
‫và bạn sẽ xem tài liệu.
‫Bạn thấy trong các ví dụ rằng, oh hey.
‫Nó cho biết ứng dụng bây giờ. Nó không nói phần mở rộng nữa.
‫Lạ nhỉ. Để tôi đi tra cứu nó. Sau đó, bạn
‫tìm thấy một số vấn đề Kubernetes trong GitHub nói về nó.
‫Nó hơi lộn xộn. Không phải lúc nào cũng
‫có một danh sách phản đối rõ ràng về mọi
‫thứ luôn thay đổi, vì vậy nó có thể là một vấn đề.
‫Cách mà bạn biết rằng điều này không hoạt động là
‫khi bạn lấy một YAML cũ và bạn áp dụng nó vào một cụm
‫mới và nó sẽ cho bạn biết rằng, tôi không
‫hỗ trợ phiên bản API này nữa. Hoặc, tôi không biết loại này là gì.
‫Vì vậy, nó sẽ cung cấp cho bạn một lỗi tốt cho bạn biết
‫rằng, đây là vấn đề. Sau đó, bạn có thể
‫thực hiện một số tìm kiếm nhanh và tìm ra những gì đã lỗi thời.
‫Điểm tôi đang làm là loại, cùng
‫với phiên bản API, được sử dụng cùng nhau để quyết định
‫tài nguyên nào bạn sẽ nhận được và phiên bản API nào bạn
‫sẽ có thể sử dụng cho tài nguyên đó.
‫Đó là hai điều đầu tiên bạn cần tìm ra
‫trước khi tạo YAML.
‫Sau khi bạn có điều đó, sau đó
‫bạn sẽ tạo phần siêu dữ liệu. Điều duy nhất bạn phải có
‫là tên của tài nguyên bạn sẽ tạo.
‫Chỉ cần đặt cho nó một cái tên đẹp.
‫Sau đó, bạn sẽ đi đến thông số kỹ thuật. Đó là nơi tất cả
‫các hành động diễn ra bởi vì thông số kỹ thuật sẽ hoàn
‫toàn khác nhau dựa trên tài nguyên bạn đang tạo.
‫Nếu bạn đang tạo bộ nhớ so với việc triển khai, bạn có thể
‫tưởng tượng YAML sẽ khác nhau như thế
‫nào, đúng không.
‫Trong bài giảng tiếp theo, chúng ta sẽ đi qua một
‫số lệnh kubectl để giúp bạn khám phá API cho tất cả các nội
‫dung thông số kỹ thuật khác nhau mà bạn có thể đưa vào
‫YAML của mình cho các tài nguyên khác nhau.