kubectl을 사용하여 YAML 파일의 여러 줄 업데이트
5423 단어 kubectlkubernetesyamlshortposts
sed
또는 awk
또는 perl
등을 사용하는 것이지만 경험을 단순화하는 사내 Kubectlpatch
옵션이 있습니다.예를 들어 아래
spec
의 복제본 수와 Nginx 컨테이너 이미지 버전을 업데이트해 보겠습니다. 여러 줄로 되어 있고 다른 옵션을 사용하는 것은 다소 어색할 수 있음을 기억하십시오.출처: https://kubernetes.io/docs/tasks/run-application/run-stateless-application-deployment/
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
파일을 적용하자
kubectl apply -f https://k8s.io/examples/application/deployment.yaml
로컬에서 아래 내용으로
patch.yaml
라는 파일을 생성해 보겠습니다.spec:
selector:
matchLabels:
app: nginx
replicas: 3 # Update the number replicas from 2 to 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.16.1 # Update the version of nginx from 1.14.2 to 1.16.1
ports:
- containerPort: 80
그런 다음 아래 명령으로
deployment
를 패치합니다.kubectl patch deployment/nginx-deployment --patch "$(cat patch.yaml)"
이 메시지가 표시되면
deployment.apps/nginx-deployment patched
. 아래 명령 실행Kubectl get deployments
# NAME READY UP-TO-DATE AVAILABLE AGE
#nginx-deployment 3/3 3 3 3h
kubectl get deployment nginx-deployment -o yaml
교체된 이전 구성을 확인합니다.
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"name":"nginx-deployment","namespace":"default"},"spec":{"replicas":2,"selector":{"matchLabels":{"app":"nginx"}},"template":{"metadata":{"labels":{"app":"nginx"}},"spec":{"containers":[{"image":"nginx:1.14.2","name":"nginx","ports":[{"containerPort":80}]}]}}}}
Reference
이 문제에 관하여(kubectl을 사용하여 YAML 파일의 여러 줄 업데이트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/vidyasagarmsc/update-multiple-lines-in-a-yaml-file-49fb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)