Kubernetes - Có thể kết hợp Pod.yaml và Service.yaml trong một tệp yaml không (nhưng không có Triển khai)

Jan 28 2021

Tôi có hai YAML khác nhau, một cho Pod và một cho Service . Có thể kết hợp chúng thành một YAML nhưng không sử dụng YAML loại Triển khai mà tôi biết chúng ta có thể chỉ định cả định nghĩa Pod và Service nhưng tôi không cần lo lắng về các bản sao, v.v. Có thể kết hợp chúng với nhau không? Tôi không tìm thấy ví dụ / hướng dẫn như vậy trong tài liệu.

Cảm ơn bạn.

Trả lời

3 eitann Jan 28 2021 at 20:08

Có, bạn có thể đưa bất kỳ tài nguyên nào bạn muốn vào một tệp yaml, bạn chỉ cần phân tách chúng bằng ba dấu gạch ngang, ví dụ:

apiVersion: apps/v1
kind: Service

---
apiVersion: apps/v1
kind: Pod
2 aguest Jan 28 2021 at 20:07

Bạn định làm gì với tệp yaml này? 'kubectl tạo'?

Bạn có thể phân tách các đối tượng bằng một dòng gồm 3 dấu gạch nối: '---'.

2 SYN Jan 28 2021 at 20:08

Bạn có thể nối các đối tượng trong một YAML, tách chúng bằng ---

Cái gì đó như:

---
apiVersion: v1
kind: Service
...
---
apiVersion: v1
kind: Pod
...

Bạn có thể muốn tạo một Triển khai trước, tìm ra định nghĩa Pod của bạn trông như thế nào.

Thứ tự không thành vấn đề, mặc dù tùy thuộc vào khách hàng đang tải nó, lỗi có thể có hoặc không ngừng áp dụng các đối tượng còn lại - kubectl sẽ áp dụng mọi thứ có thể.