IBM Cloud Docs
Warum schlägt das Terraform-Skript, das die Kubernetes enthält, mit der Meldung "Verbindung abgelehnt" fehl?

Warum schlägt das Terraform-Skript, das die Kubernetes enthält, mit der Meldung "Verbindung abgelehnt" fehl?

Wenn Sie Generate Plan für das Terraform-Script, das den Cluster enthält, verwenden, um vor drei Monaten ordnungsgemäß zu arbeiten, aber jetzt dasselbe Terraform-Script den folgenden Fehler erhält:

"Error: Get "http://localhost/api/v1/namespaces/external-secrets":
dial tcp [::1]:80: connect: connection refused".

Beim Vergleich der Protokolle zwischen erfolgreicher und fehlgeschlagener Generate Plan-Ausführung. Die beobachtete new versions picked up of providers hat das Script auf dieselbe Version gezwungen, nur um sicherzustellen, dass eine Versionsänderung den Fehler nicht verursacht hat. Der Fehler bleibt bestehen.

Dieses Problem stammt vom Kubernetes-Provider. Es gibt viele Diskussionen über diesen Fehler durch verschiedene Cloud-Provider, aber es gibt keine definitive Lösung.

Überprüfen Sie die folgenden Referenzen und Lösungen, um das Problem zu beheben

Referenzen

Basierend auf den bisherigen Erfahrungen sind die beiden Lösungen zur Problemumgehung zu beheben.

Lösung 1

Wenn Sie die Providerauthentifizierung für Kubernetes wie im Codeblock gezeigt verwenden.

provider "kubernetes" {
  config_path = data.ibm_container_cluster_config.cluster_config.config_file_path
}

Ändern Sie die Vorlage wie folgt.

provider "kubernetes" {
  host                   = data.ibm_container_cluster_config.cluster_config.host
  client_certificate     = data.ibm_container_cluster_config.cluster_config.admin_certificate
  client_key             = data.ibm_container_cluster_config.cluster_config.admin_key
  cluster_ca_certificate = data.ibm_container_cluster_config.cluster_config.ca_certificate
}

Lösung 2

Sie können den Status für die Clusterkonfiguration aus der statefile entfernen, indem Sie den CLI-Befehl IBM Cloud Schematics verwenden und den Befehl Terraform plan oder Terraform apply erneut ausführen.

ibmcloud schematics workspace state rm --id --address <enter the workspace ID and the address of the resource to mark as taint>