Мы запускаем несколько автоматических тестов для нашего приложения, развернутого локально (для агента сборки CI) с использованием k3s и skaffold.
Как мы можем просмотреть (стандартный вывод или файл) журналы модуля при запуске skaffold deploy --status-check
? (У нас были ошибки во время развертывания, которые мы не можем увидеть, если не используем ssh для агента сборки.)
Следующее, когда запускается после успешного развертывания, записывает журналы, но это не работает, если мы запускаем его перед запуском skaffold deploy
, предположительно потому, что он не принимает никакие модули, запущенные после выполнения этой команды:
kubectl logs \
--namespace x \
--follow \
--ignore-errors \
--max-log-requests 50 \
--all-containers \
--prefix \
--timestamps \
--selector release=y >"k8s.log" 2>&1 &
Результат skaffold deploy --status-check
выглядит примерно так:
LAST DEPLOYED: Tue Oct 13 18:14:03 2020 NAMESPACE: smoke STATUS: deployed REVISION: 1 TEST SUITE: None Waiting for deployments to stabilize... - smoke:deployment/smoke-assets is ready. [7/8 deployment(s) still pending] - smoke:deployment/smoke-b is ready. [6/8 deployment(s) still pending] - smoke:deployment/smoke-c is ready. [5/8 deployment(s) still pending] - smoke:deployment/smoke-d: waiting for rollout to finish: 0 of 1 updated replicas are available... - smoke:deployment/smoke-e: waiting for rollout to finish: 0 of 1 updated replicas are available... - smoke:deployment/smoke-f: waiting for rollout to finish: 0 of 1 updated replicas are available... - smoke:deployment/smoke-g: waiting for rollout to finish: 0 of 1 updated replicas are available... - smoke:deployment/smoke-h: waiting for rollout to finish: 0 of 2 updated replicas are available... - smoke:deployment/smoke-d is ready. [4/8 deployment(s) still pending] - smoke:deployment/smoke-g is ready. [3/8 deployment(s) still pending] - smoke:deployment/smoke-e is ready. [2/8 deployment(s) still pending] - smoke:deployment/smoke-h: waiting for rollout to finish: 1 of 2 updated replicas are available... - smoke:deployment/smoke-h is ready. [1/8 deployment(s) still pending] 1/8 deployment(s) failed - smoke:deployment/smoke-f: running [kubectl --context k3d-smoke-tests-cluster rollout status deployment smoke-f --namespace smoke --watch=false] - stdout: "" - stderr: "error: deployment \"smoke-f\" exceeded its progress deadline\n" - cause: exit status 1 - smoke:deployment/smoke-f failed. Error: running [kubectl --context k3d-smoke-tests-cluster rollout status deployment smoke-f --namespace smoke --watch=false] - stdout: "" - stderr: "error: deployment \"smoke-f\" exceeded its progress deadline\n" - cause: exit status 1.