‫Hãy để tôi kể cho bạn nghe về những bước chạy khô và những điểm khác
‫biệt, đó là những thứ mới.
‫Một vài phiên bản cuối cùng của Kubernetes bắt đầu bằng 1. 13 có tùy chọn
‫mới này cho phép chúng tôi xem những gì chúng tôi
‫sẽ thay đổi trước khi chúng tôi thay đổi nó.
‫Chúng tôi đã thấy điều đó trước đây.
‫Tôi đã chỉ cho bạn một vài ví dụ trước đó trong khóa học.
‫Tuy nhiên, phương pháp sử dụng nó
‫với lệnh apply là mới và
‫tốt hơn. Những gì chúng tôi đã có
‫trong quá khứ là chúng tôi đã chạy khô hạn, nhưng nó chỉ
‫là ở khách hàng. Máy khách đã không thực sự nói
‫chuyện với máy chủ để nói này, các tài nguyên này đã ở đó chưa?
‫Tôi có cần tạo lại chúng hay chúng sẽ được cập nhật hoặc điều gì
‫sẽ xảy ra? Đúng.
‫Điều đó đã không xảy ra trước đây.
‫Bây giờ có một tùy chọn chạy khô máy chủ
‫sẽ gửi YAML của chúng tôi đến máy chủ và so sánh,
‫tìm ra những gì cần thực sự xảy ra và sau
‫đó báo cáo lại dòng lệnh những gì
‫sẽ thay đổi. Hãy xem điều đó trong hành động.
‫Tôi đang ở trong thư mục K8s YAML như tôi đã thảo luận trước đó trong
‫một bài giảng, nếu bạn đang ở trong kho lưu trữ của Docker Mastery và bạn không
‫có thư mục này, thì bạn cần thực
‫hiện git-pull để nhận các bản cập nhật mới nhất.
‫Đây là một tệp mà chúng ta đã thấy trong
‫một bài giảng trước, ứng dụng. yml. Đây là một dịch vụ,
‫cùng với một triển khai, trong một tệp.
‫Về mặt kỹ thuật, hai tài nguyên được tạo bằng một lệnh
‫áp dụng và chúng có liên quan với nhau.
‫Dịch vụ này sử dụng một bộ chọn mà
‫chúng ta chưa nói đến. Bộ chọn là cách một đối tượng
‫tìm thấy các tài nguyên mà nó muốn nói chuyện hoặc làm
‫điều gì đó với.
‫Một dịch vụ cần nói chuyện với các nhóm, vì vậy nó cần phải tìm cách
‫để đạt được những nhóm đó.
‫Nó sử dụng bộ chọn về cơ bản là
‫đối sánh mẫu để khớp với nhãn của các khóa
‫và giá trị ở đó. Nếu tôi thực hiện thao tác khô
‫truyền thống ở đây, thì tất cả những gì cần làm là khách hàng sẽ nhìn vào đơn
‫đăng ký và nói, vâng, tôi sẽ tạo ra những đối tượng này.
‫Được rồi. Nó luôn quay lại và nói rằng đã tạo.
‫Đó là bởi vì ứng dụng không phải là
‫rất cụ thể. Nếu bạn đang sử dụng bản
‫cập nhật, lệnh tạo hoặc lệnh xóa, thì một lần nữa, tôi
‫không cảm thấy đó là quy trình làm việc dựa trên DevOps.
‫Những lệnh đó sẽ chỉ chạy nhanh và bạn biết rằng bản
‫cập nhật sẽ nói đúng, cả hai
‫đều sẽ được cập nhật. Nhưng, nó không thực sự biết trên cụm
‫của bạn, đúng không. Nó đã không nói chuyện với máy chủ để tìm ra điều đó.
‫Chúng tôi muốn thử chạy khô máy chủ được bật theo mặc
‫định trên bất kỳ thứ gì 1. 13 và mới hơn.
‫Khi tôi làm điều đó, nó sẽ chuyển đến máy chủ và đưa ra phản
‫hồi thích hợp cho tôi.
‫Hãy tiếp tục và tạo ra cái này.
‫Tôi sẽ gỡ bỏ máy chủ chạy khô.
‫Điều này sẽ tạo ra hai tài nguyên, triển khai
‫và dịch vụ.
‫Bây giờ, nếu tôi nhấn vào mũi tên lên và quay lại chế độ chạy khô
‫của máy chủ, bạn sẽ thấy rằng nó không thay đổi cho cả hai.
‫Nó không cho tôi biết điều gì đã thay đổi hoặc nếu
‫có điều gì đó sẽ thay đổi
‫nó sẽ như thế nào. Nó chỉ cho tôi biết rằng một tài
‫nguyên sẽ được thay đổi hoặc không thay đổi. Nó giống như một sự chuyển đổi, có hoặc không.
‫Còn về việc nhận được sự khác biệt thực tế giữa những gì chúng
‫tôi muốn cung cấp cho máy chủ và trạng thái
‫hiện tại của tài nguyên của chúng tôi.
‫Đó là lệnh kubectl diff.
‫Nếu tôi chỉ cung cấp cho nó một khác biệt
‫thay vì áp dụng, nó sẽ so sánh YAML
‫tôi có với thông số kỹ thuật trong các máy
‫chủ hiện đang chạy. trạng thái đó quay trở lại, và nó sẽ thực hiện một
‫sự khác biệt về điều đó. Hãy làm điều đó.
‫Nó sẽ không nói gì bởi vì không có sự khác biệt.
‫Nhưng nếu chúng ta thay đổi YAML thì sao?
‫Điều gì sẽ xảy ra nếu tôi thay đổi bản sao thành hai bản sao?
‫Sau đó, tôi thêm một nhãn vào siêu dữ liệu và tôi sẽ cung cấp cho nó một
‫cái gì đó giống như ... cái gì đó như.
‫Máy chủ dmz.
‫Tôi làm ra nó. Không thực sự quan trọng.
‫Sau đó, chúng tôi có bản sao của hai.
‫Nếu tôi làm điều khác biệt đó, nó sẽ trở lại với những điểm
‫cộng và điểm trừ.
‫Nếu bạn đã quen với việc đọc khác, điều này
‫hoàn toàn hợp lý với bạn. Nếu bạn không quen với các khác biệt,
‫dấu trừ có nghĩa là dòng đó sẽ biến mất.
‫Sau đó, những dòng này sẽ được thêm vào.
‫Sau đó, ở đây, nó hiển thị cho bạn dòng nào và ký
‫tự nào trong dòng mà điều này
‫đang bị xóa.
‫Điều này đang được thêm vào.
‫Nó vẫn giữ định dạng YAML, điều này thật tuyệt.
‫Nó cho chúng tôi biết rằng có nhiều thay đổi đang diễn ra.
‫Tuyệt quá. Tất nhiên, điều này không thực sự làm một cái gì đó
‫giống như một con chim hoàng yến, hoặc triển khai thử nghiệm hoặc bất cứ điều gì.
‫Nó không phải là cố gắng làm một việc và sau đó xem
‫kết quả là gì. Nó thực sự chỉ xem xét thông số
‫kỹ thuật mà nó có trong hồ sơ và thông số kỹ thuật mà chúng tôi có
‫trên đĩa của mình. Kiểm tra để
‫biết thêm thông tin về điều đó trên các liên kết tài nguyên.
‫Đó là một bài viết trên blog của nhóm Kubernetes về tương
‫lai của những thứ này và cách chúng sẽ phát huy tác dụng
‫khi chúng ra mắt bản beta. Hãy nhớ rằng, những tính năng này hiện tại là phiên
‫bản beta, ít nhất là trong 1. 15 họ đang có.
‫Hy vọng rằng với điều đó, bạn có thể tạo quy trình làm việc
‫của riêng mình để tạo YAML từ đầu, Quản lý
‫thông số kỹ thuật trong các YAML đó, sau đó sử dụng lệnh áp dụng lặp
‫đi lặp lại để thực hiện các thay đổi của bạn.
‫Đó là một cơ sở hạ tầng thân thiện với DevOps hơn nhiều như
‫là kiểu mã của cách thực hiện.
‫Mọi thứ bạn làm đều được ghi lại, hy vọng là trong Git.
‫Vì vậy, hy vọng bạn sẽ thực hiện git-commit cho mỗi thay đổi bạn thực
‫hiện trong YAML của mình trước khi triển khai nó lên máy chủ.
‫Sau đó, bạn có tài liệu tuyệt vời đó trong Git, cũng như tài
‫liệu khi bạn thực hiện một cái gì đó như khác biệt để xem những
‫gì bạn có so với những gì đang thực sự chạy.