Mejores Prácticas de Despliegue
Artefactos inmutables, etiquetas semver y runbooks de reversión.
Busca en todas las páginas de la documentación
Artefactos inmutables, etiquetas semver y runbooks de reversión.
Aplica estas prácticas en las plantillas de servicio, pipelines de CI y runbooks de guardia para que cada despliegue de Go sea rastreable, reversible y seguro bajo carga.
CGO_ENABLED=0 a menos que una dependencia requiera cgo. Mantiene los binarios de Linux portátiles para imágenes scratch/distroless.-ldflags -X. Los logs y métricas se vinculan a la salida exacta de CI durante incidentes.go test -race ./... en colas de fusión para servicios concurrentes. Detecta carreras de datos antes de que aparezcan bajo carga de producción.govulncheck ./... en CI y falla ante CVEs alcanzables que violan la política. Bloquea grafos de dependencias vulnerables conocidos.go.sum y ejecuta go mod verify en CI. Detecta manipulación de módulos en el momento de la descarga.latest sin etiquetar en entornos compartidos. Las etiquetas flotantes hacen que las reversiones y auditorías no sean fiables.USER nonroot o UID numérico). Limita el impacto de la ruptura del contenedor./healthz barato; readiness en /readyz con comprobaciones de dependencias. Evita el enrutamiento a pods fríos o rotos.maxUnavailable: 0 (o bajo) con readiness gates para despliegues sin tiempo de inactividad. Mantiene la capacidad durante las actualizaciones de imagen.terminationGracePeriodSeconds >= tiempo de espera de http.Server.Shutdown. Drena las solicitudes HTTP en curso antes de SIGKILL.revisionHistoryLimit >= 3 para kubectl rollout undo rápido. Los ReplicaSets recientes permanecen para la reversión de emergencia./readyz y las pruebas de integración de rutas críticas controlan la promoción.kubectl rollout undo, digest anterior y pasos de verificación. El personal de guardia ejecuta sin buscar en el historial de Slack.GOOS/GOARCH de destino en la matriz de CI. Una compilación de portátil no es suficiente para flotas de borde ARM.Versiones de Stack: Esta página fue escrita para Go 1.26.x (Green Tea GC por defecto, go fix modernizers - verifica el parche en la compilación), chi (última - verifica en la compilación), gin (última - verifica en la compilación), echo (última - verifica en la compilación), google.golang.org/grpc (última - verifica en la compilación), sigs.k8s.io/controller-runtime (última - verifica en la compilación), kubebuilder (última - verifica en la compilación), tinygo (última - verifica los objetivos de la placa en la compilación), wazero (última - verifica en la compilación), y golangci-lint (última - verifica el conjunto de linters en la compilación).
Revisado por Chris St. John·Última actualización: 19 jul 2026