llhuii / dive-into-k8s

Apache License 2.0
0 stars 0 forks source link

生成kubectl patch diff #25

Open llhuii opened 1 year ago

llhuii commented 1 year ago
# 安装jsonpatch
pip install https://github.com/stefankoegl/python-json-patch/archive/refs/tags/v1.32.tar.gz

# 安装yq,yaml to json
wget https://github.com/mikefarah/yq/releases/download/v4.32.2/yq_linux_amd64 && \
chmod +x yq_linux_amd64 && \
mv yq_linux_amd64 /usr/local/bin/yq

# sample: yq e -j new.yaml > old.json
# crd以terway的podeni为例

crd=podenis.network.alibabacloud.com
kubectl get crd $crd -o json > old.json

cp old.json new.json

# edit new.json
# ..

jsondiff old.json new.json

kubectl patch crd/$crd --type json --patch="$(jsondiff old.json new.json)"