8.4. 경로 및 Ingress 개체에 대한 호스트 이름 충돌 방지 비활성화
OpenShift Container Platform에서는 경로 및 수신 오브젝트에 대한 호스트 이름 충돌 방지가 기본적으로 활성화되어 있습니다. 즉, cluster-admin 역할이 없는 사용자는 생성 시에만 경로 또는 인그레스 개체에 호스트 이름을 설정할 수 있으며 나중에 변경할 수 없습니다. 그러나 일부 또는 모든 사용자의 경로 및 수신 오브젝트에 대한 이 제한을 완화할 수 있습니다.
OpenShift Container Platform은 오브젝트 생성 타임스탬프를 사용하여 지정된 호스트 이름의 가장 오래된 경로 또는 인그레스 오브젝트를 결정하기 때문에 이전 경로에서 호스트 이름을 변경하거나 인그레스 오브젝트가 도입되면 경로 또는 수신 개체의 호스트 이름을 가로챌 수 있습니다.
OpenShift Container Platform 클러스터 관리자는 생성 후도 경로에서 호스트 이름을 편집할 수 있습니다. 특정 사용자가 수행할 수 있도록 역할을 생성할 수도 있습니다.
$ oc create clusterrole route-editor --verb=update --resource=routes.route.openshift.io/custom-host
그런 다음 새 역할을 사용자에게 바인딩할 수 있습니다.
$ oc adm policy add-cluster-role-to-user route-editor user
수신 오브젝트에 대한 호스트 이름 충돌 방지를 비활성화할 수도 있습니다. 이렇게 하면 cluster-admin 역할 없이 사용자가 생성한 후 인그레스 오브젝트에 대한 호스트 이름을 편집할 수 있습니다. 이는 수신 오브젝트의 호스트 이름을 편집하는 것을 포함하여 Kubernetes 동작에 따라 OpenShift Container Platform 설치에 유용합니다.
master.yaml 파일에 다음을 추가합니다.
admissionConfig: pluginConfig: openshift.io/IngressAdmission: configuration: apiVersion: v1 allowHostnameChanges: true kind: IngressAdmissionConfig location: ""
변경 사항을 적용하려면 마스터 서비스를 다시 시작하십시오.
$ master-restart api $ master-restart controllers