Rancher Server 使用域名导致 cattle-cluster-agent 报错无法解析

Rancher Server 使用域名导致 cattle-cluster-agent 报错无法解析

使用域名作为 Rancher Server 地址便于后期更换 ip 等操作,于是这次在公司研发环境搭建集群时使用该方案。

万万没想到,其他服务都正常,只有 cattle-cluster-agent 负载报错,无限重启。

1. 错误日志

INFO: Environment: CATTLE_ADDRESS=10.42.0.3 CATTLE_CA_CHECKSUM=af10b90a2d426cea306b2c2b5369a96dc472f175659668f2a591cbc3e9dbebfc CATTLE_CLUSTER=true CATTLE_CLUSTER_REGISTRY=192.168.149.191:10080 CATTLE_FEATURES= CATTLE_INGRESS_IP_DOMAIN=sslip.io CATTLE_INSTALL_UUID=329d52b8-1ede-4768-bd6b-995d2b61a5d4 CATTLE_INTERNAL_ADDRESS= CATTLE_IS_RKE=true CATTLE_K8S_MANAGED=true CATTLE_NODE_NAME=cattle-cluster-agent-6bf797488f-m4fw8 CATTLE_SERVER=https://server149115:18443 CATTLE_SERVER_VERSION=v2.5.14
2022/6/24 17:27:54 INFO: Using resolv.conf: nameserver 10.43.0.10 search cattle-system.svc.cluster.local svc.cluster.local cluster.local options ndots:5
2022/6/24 17:28:15 ERROR: https://server149115:18443/ping is not accessible (Could not resolve host: server149115)

从日志中可以看到,pod 内部无法解析配置的 rancher server 域名,导致该负载一直报错重启。

在这里插入图片描述

2. 解决方法

通过查找网上资料,发现需要编辑该负载的 yaml 模板文件,添加域名解析配置项即可。

在这里插入图片描述

需要添加的内容如下,尤其需要注意缩进,rancher 编辑器中老报红叉,需要耐心调整

spec:
  hostAliases:
  - ip: "192.168.149.115"
  hostnames:
   - "server149115"

总体所在位置层次如下,省略了中间配置项

apiVersion: apps/v1
kind: Deployment
spec:
  replicas: 1
  template:
    metadata:
    spec:
      hostAliases:
      - hostnames:
        - server149115
        ip: 192.168.149.115

3. 解决效果

网上乱七八糟的解决方案,有些 yaml 配置写的都有问题,非常无语,我这里是验证过的,没有问题的。

在这里插入图片描述


2022.08.22 更新
可以通过修改 cattle-cluster-agent 负载的『主机别名』配置实现,更加便捷直观。
在这里插入图片描述

<think>好的,用户想了解如何重启Rancher部署的Kubernetes集群组件。首先,我需要回忆一下Rancher的架构和相关组件。Rancher管理的集群中,每个节点上运行着cattle-node-agent,而集群层面则有cattle-cluster-agent负责与Rancher Server通信。这些组件是Rancher管理集群的关键部分。 用户提到的重启组件可能指的是这些agent,或者是Kubernetes的核心组件如kube-apiserver、kube-controller-manager等。但根据引用内容中的信息,特别是引用[3]提到cattle-node-agentcattle-cluster-agent的作用,用户可能想了解如何重启这些Rancher特有的组件,或者整个集群的组件。 接下来,根据提供的引用,引用[4]提到了重启Docker服务的步骤,而引用[5]提到了关闭swap分区。这可能与节点维护有关。不过,用户的问题是关于重启集群组件,而不是整个节点或Docker服务。 首先,重启Rancher Agent组件的方法可能包括删除Pod,让Kubernetes自动重新创建。例如,对于cattle-node-agent,可以在节点上执行kubectl delete pod来触发重启。同样,cattle-cluster-agent也可以通过删除对应的Pod来重启。引用[3]指出这些agent的作用,所以删除Pod会让Deployment或DaemonSet重新调度新的实例。 另外,如果用户需要重启Kubernetes系统组件,比如kube-apiserver,这些通常作为静态Pod运行,可以通过修改对应的manifest文件并重启kubelet。但Rancher管理的集群可能对这些组件的配置有额外的管理方式,可能需要通过Rancher UI或API进行操作,或者直接登录到控制平面节点进行操作。 还需要考虑用户是否有权限执行这些操作,以及操作对集群的影响。例如,重启cattle-cluster-agent可能会导致暂时无法通过Rancher UI管理集群,但通常这些组件会快速恢复。 另外,引用[2]提到当节点不可访问时,需要手动清理Rancher组件,这可能涉及到节点级别的操作,比如停止相关容器,删除数据目录等。但用户的问题是关于重启而非删除,所以重点可能在如何优雅地重启组件而不删除节点。 总结步骤可能包括: 1. 重启Rancher Agent组件(cattle-node-agentcattle-cluster-agent)的方法。 2. 重启Kubernetes核心组件的方法。 3. 注意事项,如备份、影响评估等。 需要确保步骤中的命令正确,例如使用kubectl删除Pod,或者通过systemctl重启服务如Docker或kubelet。同时,引用[4]中的Docker重启步骤可能相关,因为组件可能以容器形式运行,重启Docker导致容器重启,但这不是最优雅的方式。 最后,要提醒用户在进行这些操作前做好备份,并注意可能的中断影响。确保引用正确的参考资料,比如引用[3]关于agent的作用,引用[4]关于Docker重启的步骤。</think>### 如何重启Rancher部署的集群组件? 重启Rancher管理的Kubernetes集群组件通常涉及以下两类操作: 1. **重启Rancher Agent组件**(如`cattle-node-agent`和`cattle-cluster-agent`) 2. **重启Kubernetes核心组件**(如`kube-apiserver`、`kube-controller-manager`等) 以下是具体操作步骤及注意事项: --- #### 一、重启Rancher Agent组件 Rancher AgentRancher与集群通信的核心组件,分为两类: - **cattle-cluster-agent**:负责集群与Rancher Server的通信,运行在`cattle-system`命名空间[^3]。 - **cattle-node-agent**:负责节点配置管理,以`DaemonSet`形式部署在每个节点。 **操作方法**: 1. **通过kubectl删除Pod触发重建** ```bash # 重启cattle-cluster-agent kubectl -n cattle-system delete pod -l app=cattle-cluster-agent # 重启cattle-node-agent(需在集群内执行) kubectl -n cattle-system delete pod -l app=cattle-node-agent ``` Kubernetes会自动重新创建被删除的Pod,实现组件重启。 2. **通过Rancher UI操作(仅适用于集群状态正常时)** - 进入集群详情页 → 选择“节点”标签 → 找到目标节点 → 点击“编辑”并保存(无需修改配置),触发组件重新部署。 --- #### 二、重启Kubernetes核心组件 Kubernetes系统组件(如`kube-apiserver`)通常以静态Pod形式运行,需通过修改配置文件或重启服务触发。 **操作方法**: 1. **重启kubelet服务** ```bash systemctl restart kubelet ``` kubelet会自动重建其管理的静态Pod(如`kube-apiserver`、`kube-controller-manager`)。 2. **直接删除静态Pod文件(谨慎操作)** ```bash # 示例:重启kube-apiserver mv /etc/kubernetes/manifests/kube-apiserver.yaml /tmp/ sleep 10 # 等待Pod终止 mv /tmp/kube-apiserver.yaml /etc/kubernetes/manifests/ ``` --- #### 三、注意事项 1. **备份与影响评估** - 重启关键组件可能导致短暂服务中断,建议在维护窗口操作。 - 确保Rancher Server本身运行正常,避免集群管理中断[^1]。 2. **节点级维护** - 若节点不可访问,需手动清理Rancher组件(如停止Docker容器)[^2]。 - 重启Docker服务可能影响所有容器: ```bash systemctl daemon-reload systemctl restart docker # 引用[4] ``` 3. **资源限制与日志检查** - 重启后检查组件日志: ```bash kubectl -n cattle-system logs -f <cattle-agent-pod-name> ``` - 确保节点资源(内存/CPU)充足,避免组件因OOM(内存不足)反复重启。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值