Я следил за учебником здесь: https://medium.com/@nithinmallya4/deploying-a-rails-application-to-google-container-engine-with-kubernetes-b08b2de353fc
С их кодовой базой: https://github.com/nmallya/gkedemoapp
Вы можете увидеть, как устроено это развертывание, здесь, между комментариями «ПЕРВОЕ РАЗВЕРТЫВАНИЕ»: https://github.com/nmallya/gkedemoapp/blob/master/gcloud_deployment.sh
Я создал сертификат SSL, веб-служба работает и работает, но я не могу создать вход, как описано. Статус входящего трафика - «Все внутренние службы находятся в НЕЗДОРОВНОМ состоянии».
YAML для входящего трафика выглядит следующим образом:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: gke-ingress
annotations:
kubernetes.io/ingress.class: "gce"
# kubernetes.io/ingress.allow-http: "false"
# ingress.kubernetes.io/ssl-redirect: "true"
spec:
tls:
# This assumes tls-secret exists.
- secretName: gkecert
backend:
serviceName: web
servicePort: 443
Я полагаю, мне нужно предоставить дополнительную информацию, но я не уверен, что и где устранять дальше.
Оказывается, мои службы были не в хорошем состоянии. Состояние «ГОТОВНОСТЬ» не означает, что они отвечают 200 на корневой путь (/). я использовал kubectl get pods
чтобы перечислить мои стручки, затем просмотрел журналы.
NAME READY STATUS RESTARTS AGE
cable-76bfb45bb-rkz8f 2/2 Running 0 24m
rails-67d569746d-54hs8 2/2 Running 0 24m
elasticsearch-0 1/1 Running 0 16m
redis-master-945b795f6-ldg5x 1/1 Running 0 14h
sidekiq-597c876bc4-zg24k 2/2 Running 0 24m
Затем я мог бы проверить определенные журналы с помощью kubectl logs rails-67d569746d-54hs8 rails
где второй rails
- это имя контейнера внутри модуля. Вы должны увидеть там журналы проверки работоспособности, которые должны указать, что не так.
Если вы видите только запуск сервера и никаких журналов проверки работоспособности, скорее всего, ваш модуль недоступен. Проверьте свои сервисы и порты на них. Пока они достижимы и отвечают 200 на корневом пути (и не перенаправляют), проверка работоспособности должна пройти, и вход должен разрешить соединение.