我们正在AWS上设置HA k8s环境。我们创建了一个安装了docker,k8s的AMI。
使用启用了TLS的网络负载平衡器创建具有3个主节点和5个工作节点的HA群集。该证书已添加到TLS,域名为* .amazonaws.com。
在我的群集ClusterConfiguration文件中,controlPlaneEndpoint和certSAN指向负载平衡器的DNS。
kubeadm安装失败,当检查docker日志中的k8s_kube-scheduler时,我看到通配符证书未被接受。
配置文件。
---
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
apiServer:
extraArgs:
cloud-provider: aws
clusterName: test
controlPlaneEndpoint: tf-k8s-t1-nlb-34390285259d3aac.elb.us-west-1.amazonaws.com
controllerManager:
extraArgs:
cloud-provider: aws
configure-cloud-routes: "false"
address: 0.0.0.0
kubernetesVersion: v1.13.2
networking:
dnsDomain: cluster.local
podSubnet: 10.168.0.0/16
serviceSubnet: 10.96.0.0/12
scheduler:
extraArgs:
address: 0.0.0.0
---
apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
cloud-provider: aws`
E0318 15:36:20.604025 1 reflector.go:134] k8s.io/client-go/informers/factory.go:132: Failed to list *v1.PersistentVolumeClaim: Get https://tf-k8s-t1-nlb-34390285259d3aac.elb.us-west-1.amazonaws.com:6443/api/v1/persistentvolumeclaims?limit=500&resourceVersion=0: x509: certificate is valid for *.amazonaws.com, not tf-k8s-t1-nlb-34390285259d3aac.elb.us-west-1.amazonaws.com
您能帮我如何在我的kubeadm配置中传递通配符吗?
答案 0 :(得分:0)
通配符证书仅适用于1个子级别。
假设您拥有* .example.com证书,
foo.example.com和foo2.example.com都接受,但是foo.boo.example.com则不接受,为此您需要一个* .boo.example.com证书。