以下の構成により、オープンシフト原点で、プレイブックを使用して、安全な環境を構築しました。配備ルータステータス保留中
[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、oh、それが完了しました。
[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
このような状況ですが、どのように対応したら、ルータでレプリカを正しく作れますか?
私は、ここでの問題は以下の通りであると思っています。あなたは 'oc get nodes'を実行することができます。ノード(あなたのマスタと同じマシン上にある)が予定外になると思います。つまり、スケジューラはそのノードにポッドを割り当てません。それは、lable: 'region: 'infra''というノードを持っています。レジストラ/ルータのポッドなどが 'infra'というラベルを持つノードに自動的に配備されるかどうかはわかりません。それが問題なのかもしれません。ラベルを持つノード上にポッドを作成する必要がありますが、ラベルの付いたノードは予定外です。それが役に立ったら教えてください。 – lvthillo