為何在新增自訂 DNS 解析器之後看到 DNS 失敗?
虛擬私有雲 4.15 後來
您在已有 4.15 群集的 VPC 中建立自訂 DNS 解析器後,發現 DNS 失敗。
針對 Satellite 儲存服務中的自訂 DNS 設定問題進行疑難排解。
在下列每一種情況下,請同步 kube-<clusterID> 安全群組並取代工作者節點,如下列步驟中所述。 請注意,在 VPC 中建立並啟用解析器後,此問題可能不會立即顯現。 DNS 包括一個快取,它可能會解析名稱查閱,直到取代或重新啟動工作者節點或 Pod 重新啟動為止。
- 在叢集裡新增或取代工作者節點失敗,且
ibmcloud ks workers顯示類似於下列內容的工作者節點狀態Infrastructure instance status is 'failed': Can't start instance because provisioning failed. - 執行
oc get oc時,您會看到類似下列的錯誤。dial tcp: lookup s3.direct.eu-de.cloud-object-storage.appdomain.cloud on 172.21.0.10:53: server misbehaving. - 重新啟動工作節點後,該工作節點上的 Pod 會處於「
Terminating」狀態,OpenShift 網頁控制台將無法開啟,或 Ingress 會處於「Critical」狀態。
如果您在建立 4.15 群集之前已在 VPC 中啟用自訂 DNS 解析器,則 Red Hat OpenShift on IBM Cloud 會自動新增規則,允許透過 DNS 解析器 IP 位址的流量到您的 IBM Cloud 受管安全群組 (kube-<clusterID>)。
不過,如果您在已包含 4.15 叢集的 VPC 上啟用自訂 DNS 解析器,則那些現有叢集會失去對 DNS 的存取權。
若要更正此問題,請透過同步 kube-<clusterID> 安全群組,容許存取現有叢集上的 DNS 解析器。 同步「kube-<clusterID>」安全群組會新增規則,允許流量透過 DNS 解析器 IP 位址傳輸
-
尋找
kube-<clusterID>安全群組的安全群組 ID。ibmcloud is security-groups -
同步安全群組。
ibmcloud oc security-group sync --cluster <clusterID> --security-group <security-group-ID> -
請更換叢集中的工作節點。
ibmcloud oc worker replace --cluster <cluster_name_or_ID> --worker <worker_node_ID> -
如果仍然發生此問題,請聯絡支援人員。 開啟 支援案例。 在案例詳細資料中,請務必包括任何相關日誌檔、錯誤訊息或指令輸出。
其他實務範例
由於 VPC 中自訂 DNS 解析器與相同 VPC 中 4.15 叢集的組合而導致的錯誤狀況。
如果在建立 DNS 解析器之後建立叢集
如果您在建立自訂 DNS 解析器之後建立 4.15 叢集,且工作者未進入 Normal 或 Active 狀態,則在部署工作者節點的邏輯需要 DNS 自訂解析器的規則之前,不會將它們新增至 kube-<clusterID> 安全群組。
- 列出
kube-<clusterID>安全群組的詳細資料,以驗證自訂 DNS 解析器 IP 已新增為安全群組中的目標。ibmcloud is sg kube-<clusterID> - 請更換叢集中的工作節點。
ibmcloud oc worker replace --cluster <cluster_name_or_ID> --worker <worker_node_ID> - 如果仍然發生此問題,請聯絡支援人員。 開啟 支援案例。 在案例詳細資料中,請務必包括任何相關日誌檔、錯誤訊息或指令輸出。