5.7.19. 네임스페이스 소유권 확인 비활성화
호스트 및 하위 도메인은 먼저 클레임을 수행하는 경로의 네임스페이스에서 소유합니다. 네임스페이스에 생성된 다른 경로는 하위 도메인에 클레임을 만들 수 있습니다. 다른 모든 네임스페이스는 클레임된 호스트 및 하위 도메인에 대한 클레임을 만들 수 없습니다. 호스트를 소유하는 네임스페이스는 호스트와 연결된 모든 경로(예: www.abc.xyz/path1)
도 소유합니다.
예를 들어 호스트 www.abc.xyz
가 경로에 의해 클레임되지 않은 경우. 네임스페이스 ns
경로를 생성하면 네임스페이스 1에서 호스트
1www.abc.xyz
를 사용하여 rns1
이 호스트 www.abc.xyz
의 소유자이고 와일드카드 경로의 경우 abc.xyz
하위 도메인이 생성됩니다. 다른 네임스페이스 ns2
가 다른 경로 www.abc.xyz/path1/path2
인 경로를 생성하려고 하면 다른 네임스페이스의 경로(이 경우 ns
1)가 해당 호스트를 소유하고 있기 때문에 실패합니다.
와일드카드를 사용하면 하위 도메인을 소유한 네임스페이스가 하위 도메인의 모든 호스트를 소유합니다. 위 예제와 같이 네임스페이스에서 하위 도메인 abc.xyz
를 소유하는 경우 다른 네임스페이스는 z.abc.xyz
를 클레임할 수 없습니다.
네임스페이스 소유권 규칙을 비활성화하면 이러한 제한 사항을 비활성화하고 여러 네임스페이스에서 호스트(및 하위 도메인)를 클레임할 수 있습니다.
라우터에서 네임스페이스 소유권을 비활성화하기로 결정한 경우 최종 사용자가 네임스페이스에서 호스트의 소유권을 요청할 수 있다는 점에 유의하십시오. 이러한 변경은 특정 개발 환경에서 바람직할 수 있지만, 이 기능을 프로덕션 환경에서 주의해서 사용하고 클러스터 정책이 신뢰할 수 없는 최종 사용자가 경로를 생성하지 못하도록 잠그고 있는지 확인합니다.
예를 들어 ROUTER_DISABLE_NAMESPACE_OWNERSHIP_CHECK=true
의 경우 네임스페이스 ns1이
가장 오래된 경로 r1
www.abc.xyz
을 생성하면 호스트 이름(+ 경로)만 소유합니다. 다른 네임스페이스는 해당 하위 도메인(abc.xyz
)에서 가장 오래된 경로가 없어도 와일드카드 경로를 만들 수 있으며, 다른 네임스페이스에서 와일드카드가 겹치지 않는 다른 네임스페이스(예: foo.abc.xyz
,bar.abc.xyz
,baz.abc.xyz
)를 클레임할 수 있습니다.
다른 모든 네임 스페이스 (예 : ns2)는 이제
r2
www.abc.xyz/p1/p2
경로를 만들 수 있으며 허용됩니다. 마찬가지로 다른 네임스페이스(ns3)는 하위 도메인 와일드카드 정책을 사용하여
있으며 와일드카드를 소유할 수 있습니다.
wildthing.abc.xyz
경로를 만들 수
이 예제에서 볼 수 있듯이 정책 ROUTER_DISABLE_NAMESPACE_OWNERSHIP_CHECK=true
는 더 많은 lax이며 네임스페이스 간에 클레임을 허용합니다. 라우터에서 네임스페이스 소유권이 비활성화된 경로를 거부하는 유일한 방법은 host+path가 이미 클레임된 경우입니다.
예를 들어 새로운 경로 rx
가 www.abc.xyz/p1/p2
를 클레임하려고 하면 r2
경로가 해당 host+path 조합을 소유하므로 거부됩니다. 정확한 host+path가 이미 주장되었으므로 경로 rx
가 동일한 네임 스페이스에 있는지 또는 다른 네임스페이스에 있는지 여부는 마찬가지입니다.
이 기능은 라우터를 생성하는 동안 또는 라우터의 배포 구성에서 환경 변수를 설정하여 설정할 수 있습니다.
라우터 생성 중 설정
$ oc adm router ... --disable-namespace-ownership-check=true
라우터 배포 구성에서 환경 변수 설정
$ oc set env dc/router ROUTER_DISABLE_NAMESPACE_OWNERSHIP_CHECK=true