จากเอกสารที่ฉันได้อ่าน มี 3 วิธีในการแก้ไข:
- แพทช์
- แพทช์StrategicMerge
- แพตช์ Json6902.
ความแตกต่างระหว่าง patchesStrategicMerge
และ patchesJson6902
นั้นชัดเจน patchesStrategicMerge
ต้องใช้โครงสร้างที่ซ้ำกันของทรัพยากร kubernetes เพื่อระบุทรัพยากรฐานที่ได้รับแพตช์ ตามด้วยส่วนที่แก้ไขของข้อมูลจำเพาะเพื่อแสดงสิ่งที่ได้รับการเปลี่ยนแปลง (หรือถูกลบ)
patchesJson6902
กำหนดแอตทริบิวต์ 'เป้าหมาย' ที่ใช้ในการระบุทรัพยากร kubernetes ด้วยแอตทริบิวต์ 'เส้นทาง' ที่ระบุแอตทริบิวต์ในทรัพยากรที่ได้รับการแก้ไข เพิ่ม หรือลบ
อย่างไรก็ตาม สิ่งที่ไม่ชัดเจนสำหรับฉันคือความแตกต่างระหว่าง patches
และ patchesJson6902
ดูเหมือนพวกมันจะคล้ายกันมากในธรรมชาติ ทั้งสองระบุแอตทริบิวต์ 'เป้าหมาย' และวัตถุการดำเนินการซึ่งอธิบายสิ่งที่ได้รับการแก้ไข
ข้อแตกต่างเดียวที่ฉันสังเกตเห็นคือ patches
ไม่ต้องการแอตทริบิวต์ 'group' ในขณะที่ patchesJson6902
ต้องการ ไม่ทราบสาเหตุ
แล้วทำไมทั้งสองถึงแตกต่างกัน? ฉันจะทราบได้อย่างไรว่าจะใช้อันไหน?