init Кубееда говорит, что «ждет, когда появится самолет управления федерацией», и он никогда не появляется - PullRequest
0 голосов
/ 17 февраля 2019

Я создал кластеры с помощью команды kops.Для каждого кластера я должен создать размещенную зону и добавить пространства имен к провайдеру DNS.Чтобы создать размещенную зону, я создал поддомен в размещенной зоне в aws (example.com) с помощью следующей команды:

ID=$(uuidgen) && aws route53 create-hosted-zone --name subdomain1.example.com --caller-reference $ID | jq .DelegationSet.NameServers

Включены серверы имен, которые я получаю, выполнив указанную выше команду.во вновь созданном файле subdomain1.json со следующим содержимым.

{
  "Comment": "Create a subdomain NS record in the parent domain",
  "Changes": [
    {
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "subdomain1.example.com",
        "Type": "NS",
        "TTL": 300,
        "ResourceRecords": [
          {
            "Value": "ns-1.awsdns-1.co.uk"
          },
          {
            "Value": "ns-2.awsdns-2.org"
          },
          {
            "Value": "ns-3.awsdns-3.com"
          },
          {
            "Value": "ns-4.awsdns-4.net"
          }
        ]
      }
    }
  ]
}

Чтобы получить идентификатор родительской зоны, я использовал следующую команду:

aws route53 list-hosted-zones | jq '.HostedZones[] | select(.Name=="example.com.") | .Id'

Чтобы применитьзаписи NS поддоменов в родительскую размещенную зону -

aws route53 change-resource-record-sets --hosted-zone-id <parent-zone-id> --change-batch file://subdomain1.json

, затем я создал кластер с помощью команды kops -

kops create cluster --name=subdomain1.example.com --master-count=1 --master-zones ap-southeast-1a --node-count=1 --zones=ap-southeast-1a --authorization=rbac --state=s3://example.com --kubernetes-version=1.11.0 --yes

Я могу создать кластер, проверить его и получитьего узлы.Используя ту же процедуру, я создал еще один кластер (subdomain2.example.com).

Я установил псевдонимы для двух кластеров, используя эти команды:

kubectl config set-context subdomain1 --cluster=subdomain1.example.com --user=subdomain1.example.com

kubectl config set-context subdomain2 --cluster=subdomain2.example.com --user=subdomain2.example.com

.федерации между этими двумя кластерами, я использовал эти команды - kubectl config use-context subdomain1

kubectl create clusterrolebinding admin-to-cluster-admin-binding --clusterrole=cluster-admin --user=admin

kubefed init interstellar --host-cluster-context=subdomain1 --dns-provider=aws-route53 --dns-zone-name=example.com

- Вывод команды kubefed init должен быть

Нодля меня это выглядит как «ожидание появления самолета управления федерации ...», но это не подходит.В чем может быть ошибка?

Я следовал следующему руководству, чтобы создать 2 кластера.

https://gist.github.com/arun-gupta/02f534c7720c8e9c9a875681b430441a

1 Ответ

0 голосов
/ 21 февраля 2019

Возникла проблема с образом по умолчанию, используемым для двоичных файлов федерации API-сервера и диспетчера контроллеров.По умолчанию указанное ниже изображение рассматривается для команды инициализации kubefed - "gcr.io/k8s-jkns-e2e-gce-federation/fcp-amd64:v0.0.0-master_$Format:%h$".

Но это изображение старое и недоступно, плоскость управления федерацией пытается получить изображение, но не удается.Это ошибка, которую я получаю.

Чтобы исправить это, создайте свой собственный образ fcp, поместите его в какой-нибудь репозиторий и используйте этот образ в команде инициализации kubefed.Ниже приведены инструкции, которые должны быть выполнены (Запустите все эти команды по этому пути «$ GOPATH / src / k8s.io / kubernetes / federation») -

, чтобы создать образ fcp и отправить его в репозиторий -

docker load -i  _output/release-images/amd64/fcp-amd64.tar

docker tag gcr.io/google_containers/fcp-amd64:v1.9.0-alpha.2.60_430416309f9e58-dirty REGISTRY/REPO/IMAGENAME[:TAG] 

docker push REGISTRY/REPO/IMAGENAME[:TAG]

теперь создайте плоскость управления федерацией с помощью следующей команды:

_output/dockerized/bin/linux/amd64/kubefed init myfed --host-cluster-context=HOST_CLUSTER_CONTEXT --image=REGISTRY/REPO/IMAGENAME[:TAG] --dns-provider="PROVIDER" --dns-zone-name="YOUR_ZONE" --dns-provider-config=/path/to/provider.conf
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...