Я создал кластеры с помощью команды 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