Рабочая нагрузка GCP Kubernetes "Не имеет минимальной доступности" - PullRequest
0 голосов
/ 23 ноября 2018

Справочная информация : я пытаюсь настроить модуль регбита Bitcoin Core на Google Cloud Platform.Я позаимствовал некоторый код из https://gist.github.com/zquestz/0007d1ede543478d44556280fdf238c9,, отредактировав его так, чтобы вместо использования Bitcoin ABC (другая реализация клиента) он использовал вместо этого Bitcoin Core и изменил имя пользователя и пароль RPC, чтобы они оба были «тестовыми».Я также добавил некоторые аргументы команды для сценария docker-entrypoint.sh для пересылки в bitcoind, демон для узлов, которые я запускаю.При попытке развернуть следующие три файла YAML на панели инструментов в «рабочих нагрузках» показано, что биткойн не имеет минимальной доступности.Очень важно правильно настроить модуль, чтобы я мог отправлять команды RPC в балансировщик нагрузки.Ниже прилагаются мои файлы YAML.Я не очень знаком с Kubernetes, и я делаю исследовательский проект по масштабируемости, который влечет за собой запуск команд RPC для этого модуля.Спросите соответствующие журналы, и я предоставлю их в отдельных баках.Сейчас я использую только три машины в своем кластере, так как я все еще настраиваю это.Зона us-east1-d, тип машины n1-standard-2.

Вопрос : Принимая во внимание эти файлы, приведенные ниже, что вызывает GCP Kubernetes Engine для ответа "Не имеетминимальная доступность », и как это можно исправить?


bitcoin-deployment.sh

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  namespace: default
  labels:
    service: bitcoin
  name: bitcoin
spec:
  strategy:
    type: Recreate
  replicas: 1
  template:
    metadata:
      labels:
        service: bitcoin
    spec:
      containers:
      - env:
        - name: BITCOIN_RPC_USER
          valueFrom:
            secretKeyRef:
              name: test
              key: test
        - name: BITCOIN_RPC_PASSWORD
          valueFrom:
            secretKeyRef:
              name: test
              key: test
        image: ruimarinho/bitcoin-core:0.17.0
        name: bitcoin
        ports:
        - containerPort: 18443
          protocol: TCP
        volumeMounts:
          - mountPath: /data
            name: bitcoin-data
        resources:
          requests:
            memory: "1.5Gi"
        command: ["./entrypoint.sh"]
        args: ["-server", "-daemon", "-regtest", "-rpcbind=127.0.0.1", "-rpcallowip=0.0.0.0/0", "-rpcport=18443", "-rpcuser=test", "-rpcpassport=test"]
      restartPolicy: Always
      volumes:
        - name: bitcoin-data
          gcePersistentDisk:
            pdName: disk-bitcoincore-1
            fsType: ext4

биткойн-секреты.yml

apiVersion: v1
kind: Secret
metadata:
  name: bitcoin
type: Opaque
data:
  rpcuser: dGVzdAo=
  rpcpass: dGVzdAo=

bitcoin-srv.yml

apiVersion: v1
kind: Service
metadata:
  name: bitcoin
  namespace: default
spec:
  ports:
    - port: 18443
      targetPort: 18443
  selector:
    service: bitcoin
  type: LoadBalancer
  externalTrafficPolicy: Local

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

Сообщение об ошибке, которое вы упомянули, прямо не указывает на наличие в наличии;это больше ресурсов, недоступных в кластере.Вы можете повторить попытку после добавления другого узла в кластер и т. Д. Кроме того, в этом руководстве по устранению неполадок предлагается, если у ваших узлов достаточно ресурсов, но у вас все еще есть сообщение «Минимальная доступность отсутствует», проверьте, имеют ли узлы SchedulingDisabled или Cordoned.статус: в этом случае они не принимают новые пакеты.

0 голосов
/ 23 ноября 2018

Я сталкивался с этой проблемой несколько раз.Решения, которые я использовал:

  1. Подождите.В Google Cloud недостаточно ресурсов, доступных в регионе / зоне, в которые вы пытаетесь запустить.В некоторых случаях это занимало час или целый день.
  2. Выберите другой регион / зону.

Пример был ранее в этом месяце.Я не смог запустить новые ресурсы в us-west1-a.Я думаю, что только что перешел на нас-east4-c.Все запущено.

Я действительно не знаю, почему это происходит под прикрытием с Google.Я лично сталкивался с этой проблемой три раза за последние три месяца, и я видел эту проблему несколько раз в StackOverflow.Реальный ответ может быть простым: Google Cloud действительно начал расти быстрее, чем его инфраструктура.Это хорошо для Google, так как я знаю, что они вкладывают средства в новые крупные ресурсы для облака.Лично мне очень нравится работать с их облаком.

...