3.2.12.2. 라우터 공유 파일 수정
라우터 shard는 레이블을 기반으로 한 생성자이므로 oc 레이블을
통해 레이블(oc label ) 또는 선택 표현식(oc set env
를 통해)을 수정할 수 있습니다.
이 섹션에서는 라우터 공유 생성 섹션에서 시작된 예제를 확장하여 선택 표현식을 변경하는 방법을 보여줍니다.
다음은 새 선택 표현식을 사용하도록 기존 라우터를 수정하는 편리한 스크립트 modshard 입니다.
#!/bin/bash # Usage: modshard ID SELECTION-EXPRESSION... id=$1 shift router=router-shard-$id 1 dc=dc/$router 2 oc scale $dc --replicas=0 3 oc set env $dc "$@" 4 oc scale $dc --replicas=3 5
modshard
에서는 router-shard-<id>
의 배포 전략이 롤링
인 경우 oc scale
명령이 필요하지 않습니다.
예를 들어 router-shard-3
의 부서를 확장하여 ops
및 dev
를 포함하려면 다음을 수행합니다.
$ modshard 3 ROUTE_LABELS='dept in (dev, ops)'
그 결과 router-shard-3
이 이제 g
cd -
s(g^- k
및 lcd -
s
의
결합된 집합)를 선택합니다.
이 예제에서는 이 예제 시나리오에 세 개의 부서만 있으며 shard에서 나가도록 부서를 지정하여 이전 예제와 동일한 결과를 얻을 수 있음을 고려합니다.
$ modshard 3 ROUTE_LABELS='dept != finance'
이 예제에서는 쉼표로 구분된 세 가지 특성을 지정하며 결과적으로 b
만 선택됩니다.
$ modshard 3 ROUTE_LABELS='hw=strong,type=dynamic,geo=west'
경로 레이블이 포함된 ROUTE_LABELS
와 유사하게 NAMESPACE_LABELS
환경 변수를 사용하여 경로 네임스페이스의 레이블을 기반으로 경로를 선택할 수 있습니다. 이 예제에서는 router-shard-3
을 수정하여 네임스페이스에 라벨 frequency=weekly
가 있는 경로를 제공합니다.
$ modshard 3 NAMESPACE_LABELS='frequency=weekly'
마지막 예제에서는 ROUTE_LABELS
와 NAMESPACE_LABELS
를 결합하여 라벨이 sla=low
인 경로를 선택하고 네임스페이스에 라벨 frequency=weekly
가 있습니다.
$ modshard 3 \ NAMESPACE_LABELS='frequency=weekly' \ ROUTE_LABELS='sla=low'