2016-11-01 1 views
1

다음과 같은 구성에 따라 오픈 시프트 기반으로 플레이 북을 사용할 수있는 환경에서 환경을 구축했습니다.배포 라우터 상태 보류 중

[node] 
openshift-master.example.com<br> 
openshift-node01.example.com<br> 
openshift-node02.example.com<br> 
openshift-etcd.example.com<br> 


[/etc/ansible/hosts] 
[OSEv3:children] 
masters 
nodes 
etcd 

# Set variables common for all OSEv3 hosts 
[OSEv3:vars] 
ansible_ssh_user=root 
deployment_type=origin 

[masters] 
openshift-master.example.com 

[etcd] 
openshift-etcd.example.com 

# host group for nodes, includes region info 
[nodes] 
openshift-master.example.com openshift_node_labels="{'region': 'infra', 'zone': 'default'}" 
openshift-node01.example.com openshift_node_labels="{'region': 'primary', 'zone': 'east'}" 
openshift-node02.example.com openshift_node_labels="{'region': 'primary', 'zone': 'west'}" 

다음 명령에서, openshift, login, 오 완료되었습니다.

[login command] 
oc login -u system:admin -n default 

라우터의 복제본은 다음 명령으로 만들어졌습니다.

[create router command] 
oc scale dc/router --replicas=2 

다음 이벤트가 발생하고 장소가 라우터에서 복제본을 만들 수 없습니다.

[create router command] 
Failed scheduling 
pod (router-2-ievkl) failed to fit in any node fit failure on node (openshift-node01.example.com): CheckServiceAffinity fit failure on node (openshift-node02.example.com): CheckServiceAffinity fit failure on node (openshift-master.example.com): PodFitsHostPorts 

그런 상황이지만 어떻게 대응하면 라우터에서 복제본을 만들 수 있습니까?

+0

나는 여기에있는 문제가 다음과 같다고 생각합니다. 당신은'oc get nodes'를 수행 할 수 있습니다. 노드 (여러분의 주인과 같은 기계에서)가 스케쥴 될 것이라고 생각합니다. 이는 스케줄러가 해당 노드에 창을 할당하지 않음을 의미합니다. 그것은 'lable :'region :'infra''를 가진 노드입니다. 이제 레지스트리/라우터 포드 등이'infra' 레이블이있는 노드에 자동으로 배포되는지 잘 모르겠습니다. 그렇다면 문제가 될 수 있습니다. 레이블이 infra 인 노드에서 포드를 만들어야하지만 인프라 레이블이있는 노드는 예측할 수 없습니다. 도움이되는지 알려주세요. – lvthillo

답변

3

원본을 새로 설치 한 후에도 동일한 문제가 발생합니다. 마스터를 uncordoning 것은 일을. 고급 설치하는 동안

을 lorenzvth7하는 Thnx는 openshift_hosted_router_selector 및 openshift_registry_selector Ansible 설정은 기본적으로 지역 = 인프라로 설정됩니다. 기본 라우터 및 레지스트리는 region = infra 레이블과 일치하는 노드가있는 경우에만 자동으로 배포됩니다.

또한, 오류 주제 스타터의 경우에 따라 "PodFitsHostPorts"

라우터는 직접 호스트의 모든 인터페이스에서 포트 80 및 443에 연결합니다. 라우터를 포트 80/443을 사용할 수 있고 다른 서비스에서을 사용하지 않고 을 사용하는 호스트로 제한하고 노드 선택기와 스케줄러 구성을 사용하여이를 설정하십시오. 예를 들어 라우터과 같은 서비스를 실행하기 위해 인프라 노드를 전담함으로써이 작업을 수행 할 수 있습니다.

따라서 다시 라벨을 붙이십시오. openshift-node01.example.com을 지역으로 지정하십시오 : infra