Heim >Backend-Entwicklung >Golang >Wie bette ich die Zeitzonendatenbank in eine auf Kubernetes bereitgestellte Go-Anwendung ein?
Zoneinfo.zip in eine Binärdatei einbetten
Es tritt der Fehler „open C:Go/lib/time/zoneinfo.zip: no such“ auf Datei oder Verzeichnis“ beim Bereitstellen einer Containeranwendung auf Kubernetes Engine kann auf eine fehlende Zeitzonendatenbank hinweisen.
Um dieses Problem zu beheben, Betrachten Sie den folgenden Ansatz:
Eingebettetes tzdata-Paket (ab Go 1.15)
Go 1.15 führte das time/tzdata-Paket ein, das die Einbettung der Zeitzonendatenbank in das Programm ermöglicht.
import _ "time/tzdata"
Alternativ können Sie mit -Tags erstellen timetzdata.
Beide Methoden erhöhen die Programmgröße um ca. 800 KB. Dadurch wird sichergestellt, dass das Programm auch dann auf Zeitzoneninformationen zugreifen kann, wenn die Datenbank auf der Kubernetes Engine nicht verfügbar ist.
Vorbehalt:
Wie von Dolmen angemerkt, verknüpft diese Lösung die Zeitzoneninformationen Version zur Go-Version, die zum Erstellen verwendet wurde. Durch die Aktualisierung der Go-Version werden die Zeitzoneninformationen nicht aktualisiert. Es kann wünschenswerter sein, die Zeitzoneninformationen separat von der Go-Version zu aktualisieren.
Das obige ist der detaillierte Inhalt vonWie bette ich die Zeitzonendatenbank in eine auf Kubernetes bereitgestellte Go-Anwendung ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!