과제:
Kubernetes 프로그램을 확장하여 다음을 사용하여 기존 Pod에 라벨을 추가하세요. go-client.
해결책:
go-client를 사용하여 Pod에 라벨을 추가하려면 다음 단계를 고려하세요.
필요한 모듈 가져오기:
<code class="go">import ( "encoding/json" "fmt" "time" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" )</code>
패치 페이로드 구조 정의:
패치 페이로드를 구성하려면 사용자 정의 구조체를 정의합니다. 레이블 값 업데이트를 나타내려면:
<code class="go">type patchStringValue struct { Op string `json:"op"` Path string `json:"path"` Value string `json:"value"` }</code>
패치 페이로드 채우기:
추가되는 특정 레이블을 나타내는 patchStringValue 객체 조각을 만듭니다.
<code class="go">payload := []patchStringValue{{ Op: "replace", Path: "/metadata/labels/sent_alert_emailed", Value: time.Now().Format("2006-01-02_15.04.05"), }}</code>
패치 페이로드 마샬링:
페이로드 슬라이스를 JSON 형식으로 변환:
<code class="go">payloadBytes, _ := json.Marshal(payload)</code>
패치 작업 실행:
Kubernetes 클라이언트를 사용하여 대상 Pod에서 패치 작업을 실행합니다.
<code class="go">_, updateErr = api.Pods(pod.GetNamespace()).Patch( pod.GetName(), types.JSONPatchType, payloadBytes, )</code>
updateErr 값을 확인하여 작업이 성공했는지 확인하세요. 성공하면 성공 메시지를 출력합니다.
위 내용은 Go-client를 사용하여 Kubernetes의 포드에 라벨을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!