简体   繁体   English

Kubernetes-具有自定义域名的AWS云提供商

[英]Kubernetes - AWS cloud provider with custom domain name

We have a requirement to have all our EC2 instances connected to our Active Directory that has a domain name companyname.internal. 我们要求将所有EC2实例连接到域名为companyname.internal的Active Directory。

When we try to spin up the Kubernetes cluster with the kubeadm, it picks up the AWS internal hostname for some reason and fails to register. 当我们尝试使用kubeadm启动Kubernetes集群时,由于某种原因,它会选择AWS内部主机名,但无法注册。 I have ensured that the EC2 instance local host name and the metadata from the EC2 metadata points to the correct hostname. 我已确保EC2实例本地主机名和EC2元数据中的元数据指向正确的主机名。

http://169.254.169.254/latest/meta-data/hostname

ip-10-202-1-205.company.internal ip-10-202-1-205.company.internal

However, in the kubelet logs, I can see the AWS standard hostname. 但是,在kubelet日志中,我可以看到AWS标准主机名。 Is there a way to override this? 有没有办法覆盖这个?

2443 status_manager.go:485] Failed to get status for pod "kube-controller-manager-ip-10-202-1-205.us-gov-west-1.compute.internal_kube-system(xxxx)": Get https://api.xxx:443/let[2443]: E0917 02:50:07.887059    
2443 kubelet_node_status.go:94] Unable to register node "ip-10-202-1-205.us-gov-west-1.compute.internal" with API server: Post https://api.xxx:443/api/v1/nodes: EOF

You can add the --node-name option on the kubeadm init command. 您可以在kubeadm init命令上添加--node-name选项。

eg 例如

kubeadm init --node-name ec2-18-189-6-14.us-east-2.compute.amazonaws.com --pod-address-cidr=****

Then you will see this output. 然后,您将看到此输出。

root@ip-172-31-27-139:/home/ubuntu# kubectl get nodes
 NAME                                STATUS     ROLES    AGE   VERSION
 ec2-18-189-6-14.us-east-2.compute.amazonaws.com   Ready   master   10m   v1.15.3

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM