मेरे पास aws-eks क्लस्टर है और नीचे मौजूदा कॉन्फ़िगरेशन को बदलने का मेरा आदेश है।

kubectl create configmap flink-config --from-file=./config -o yaml --dry-run | kubectl replace -

लेकिन जब मैं यह आदेश चलाता हूं। यह एक त्रुटि देता है जैसे

W1009 17:00:14.998329  323115 helpers.go:553] --dry-run is deprecated and can be replaced with --dry-run=client.

क्या यह वही काम करेगा यदि मैं -ड्राई-रन को -ड्राई-रन = क्लाइंट में बदल दूं?

5
NIrav Modi 9 अक्टूबर 2020, 14:40

1 उत्तर

सबसे बढ़िया उत्तर

dry-run=client के बारे में हम सीखते हैं

--dry-run=client को भेजे जाने वाले ऑब्जेक्ट का पूर्वावलोकन करने के लिए ध्वज आपका क्लस्टर, वास्तव में इसे सबमिट किए बिना।

और कुबेरनेट्स एपीआई संदर्भ में हम पढ़ते हैं:

"कोई नहीं", "सर्वर", या "क्लाइंट" होना चाहिए। यदि ग्राहक रणनीति, केवल उस वस्तु को प्रिंट करें जिसे भेजा जाएगा, उसे भेजे बिना। यदि सर्वर रणनीति है, तो संसाधन को बनाए रखे बिना सर्वर-साइड अनुरोध सबमिट करें।

स्थानीय परीक्षण करते हुए मैंने महसूस किया कि जब मैं dry-run=server का उपयोग करके किसी मौजूदा कॉन्फ़िगरेशन ऑब्जेक्ट को बदलने का प्रयास करता हूं, तो निम्न त्रुटि होती है। एपिसर्वर ने हमें बताया कि flink-config नाम का कॉन्फिगमैप पहले से मौजूद है।

kubectl create configmap flink-config --from-file=./config -o yaml --dry-run=server
Error from server (AlreadyExists): configmaps "flink-config" already exists

हालांकि क्या मैं dry-run=client का उपयोग करने का प्रयास कर रहा हूं, ऑब्जेक्ट एपिसर्वर द्वारा मान्य नहीं है, यानी केवल क्लाइंट द्वारा, इसलिए यमल हमें मुद्रित किया जाता है:

kubectl create configmap flink-config --from-file=./config -o yaml --dry-run=client
apiVersion: v1
data:
  config: |
    FOO: foo
    MYVAR: hello
kind: ConfigMap
metadata:
  creationTimestamp: null
  name: flink-config

तो मूल रूप से, हाँ, dry-run=client का प्रभाव बहिष्कृत dry-run की तुलना में समान है। dry-run=server के लिए समतुल्य ध्वज --server-dry-run था और v1.18 में पदावनत हो गया।

5
Daniel Marques 9 अक्टूबर 2020, 15:39