导入K8s集群失败

Rancher Server 设置

  • Rancher 版本:
  • 安装选项 (Docker install/Helm Chart):
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:
  • 在线或离线部署:

下游集群信息

  • Kubernetes 版本:
  • Cluster Type (Local/Downstream):
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等):

用户信息

  • 登录用户的角色是什么? (管理员/集群所有者/集群成员/项目所有者/项目成员/自定义):
    • 如果自定义,自定义权限集:

问题描述:
想导入自建的k8s集群到rancher里面,失败了
重现步骤:
[root@lhz-master01 rancher]# kubectl apply -f kxgwmk6l475rh2bfmt2fzbrkxbwq6nwxcwnl66jhrb4srn4nhln2qv.yaml

结果:
[root@lhz-master01 rancher]# kubectl get pod -n cattle-system
NAME READY STATUS RESTARTS AGE
cattle-cluster-agent-7f5469c45-zjc4m 0/1 CrashLoopBackOff 1 24s
cattle-node-agent-2pf5c 1/1 Running 2 24s
cattle-node-agent-8ksgn 0/1 Error 1 23s
cattle-node-agent-fh4h9 0/1 CrashLoopBackOff 1 23s
cattle-node-agent-kwgcc 0/1 CrashLoopBackOff 1 23s
cattle-node-agent-n2mfp 0/1 CrashLoopBackOff 1 24s
cattle-node-agent-vjhsp 0/1 CrashLoopBackOff 1 24s

预期结果:

截图:

其他上下文信息:

日志

[root@lhz-master01 rancher]# kubectl logs cattle-cluster-agent-7f5469c45-zjc4m -n cattle-system -f
INFO: Environment: CATTLE_ADDRESS=10.244.42.106 CATTLE_CA_CHECKSUM=e55d44a2a6dae9c1c528857cbec1c10c1532a2d69728a6781c07ce9c9195cc66 CATTLE_CLUSTER=true CATTLE_FEATURES= CATTLE_INTERNAL_ADDRESS= CATTLE_K8S_MANAGED=true CATTLE_NODE_NAME=cattle-cluster-agent-7f5469c45-zjc4m CATTLE_SERVER=https://tx-cloud-rancher.chenxs.cloud:38523
INFO: Using resolv.conf: nameserver 10.244.64.10 search cattle-system.svc.cluster.local svc.cluster.local cluster.local options ndots:5
INFO: https://tx-cloud-rancher.chenxs.cloud:38523/ping is accessible
INFO: tx-cloud-rancher.chenxs.cloud resolves to 101.43.12.86
INFO: Value from https://tx-cloud-rancher.chenxs.cloud:38523/v3/settings/cacerts is an x509 certificate
time=“2022-04-14T02:47:26Z” level=info msg=“Rancher agent version v2.4.9 is starting”
time=“2022-04-14T02:47:26Z” level=info msg=“Listening on /tmp/log.sock”
time=“2022-04-14T02:47:26Z” level=info msg=“Certificate details from https://tx-cloud-rancher.chenxs.cloud:38523
time=“2022-04-14T02:47:26Z” level=info msg=“Certificate #0 (https://tx-cloud-rancher.chenxs.cloud:38523)”
time=“2022-04-14T02:47:26Z” level=info msg=“Subject: CN=Kubernetes Ingress Controller Fake Certificate,O=Acme Co”
time=“2022-04-14T02:47:26Z” level=info msg=“Issuer: CN=Kubernetes Ingress Controller Fake Certificate,O=Acme Co”
time=“2022-04-14T02:47:26Z” level=info msg=“IsCA: false”
time=“2022-04-14T02:47:26Z” level=info msg=“DNS Names: [ingress.local]”
time=“2022-04-14T02:47:26Z” level=info msg="IPAddresses: "
time=“2022-04-14T02:47:26Z” level=info msg=“NotBefore: 2022-04-14 02:23:53 +0000 UTC”
time=“2022-04-14T02:47:26Z” level=info msg=“NotAfter: 2023-04-14 02:23:53 +0000 UTC”
time=“2022-04-14T02:47:26Z” level=info msg=“SignatureAlgorithm: SHA256-RSA”
time=“2022-04-14T02:47:26Z” level=info msg=“PublicKeyAlgorithm: RSA”
time=“2022-04-14T02:47:26Z” level=info msg=“Certificate details for /etc/kubernetes/ssl/certs/serverca”
time=“2022-04-14T02:47:26Z” level=info msg=“Certificate #0 (/etc/kubernetes/ssl/certs/serverca)”
time=“2022-04-14T02:47:26Z” level=info msg=“Subject: CN=dynamiclistener-ca,O=dynamiclistener-org”
time=“2022-04-14T02:47:26Z” level=info msg=“Issuer: CN=dynamiclistener-ca,O=dynamiclistener-org”
time=“2022-04-14T02:47:26Z” level=info msg=“IsCA: true”
time=“2022-04-14T02:47:26Z” level=info msg="DNS Names: "
time=“2022-04-14T02:47:26Z” level=info msg="IPAddresses: "
time=“2022-04-14T02:47:26Z” level=info msg=“NotBefore: 2022-04-13 10:46:13 +0000 UTC”
time=“2022-04-14T02:47:26Z” level=info msg=“NotAfter: 2032-04-10 10:46:13 +0000 UTC”
time=“2022-04-14T02:47:26Z” level=info msg=“SignatureAlgorithm: ECDSA-SHA256”
time=“2022-04-14T02:47:26Z” level=info msg=“PublicKeyAlgorithm: ECDSA”
time=“2022-04-14T02:47:26Z” level=error msg=“Issuer of last certificate found in chain (CN=Kubernetes Ingress Controller Fake Certificate,O=Acme Co) does not match with CA certificate Issuer (CN=dynamiclistener-ca,O=dynamiclistener-org). Please check if the configured server certificate contains all needed intermediate certificates and make sure they are in the correct order (server certificate first, intermediates after)”
time=“2022-04-14T02:47:26Z” level=fatal msg=“Get https://tx-cloud-rancher.chenxs.cloud:38523: x509: certificate is valid for ingress.local, not tx-cloud-rancher.chenxs.cloud”
[root@lhz-master01 rancher]#

验证证书失败了,和你搭建 rancher ha 使用 证书有关系

我搭建的rancher方式,直接使用docker run 的方式运行的;
这个有相关的文档吗,或者思路吗?

你先提供下完整的安装和操作步骤,我看看哪地方有问题。

一、运行 Rancher:
docker run -itd --name rancher
-p 8080:80 -p 8443:443
–restart=unless-stopped
-v /data/rancher:/var/lib/rancher
-v /var/log/rancher/auditlog:/var/log/auditlog
-e AUDIT_LEVEL=3
–privileged
rancher/rancher:v2.4.9

二、在Rancher里面新建一个k8s集群

三、 修改Rancher的console,通过域名的方式(域名是通过ingress-nginx方式暴露出去一个公网的域名)

四、在另外一个K8s集群用导入集群,运行导入命令,运行cattle-cluster-agent-xxxxx

五、就报错;

有两个疑问:

  1. 上面这个操作的目的是?你这是操作的是下游集群?
  2. 你要导入的集群是导入到 步骤 1 运行的 rancher server 里?