k8s集群唯独一个节点nodeport不通问题调查

现象

集群3个节点,通过istio-ingressgateway暴露了一个nodeport类型的31400端口。对于nodeport类型的端口,理论上可以通过任何一个节点的nodeip+nodeport访问的,但是该环境在实际访问时,客户反馈172.17.32.2的31400端口无法访问,telnet不通。

企业微信截图_20200824164444

企业微信截图_20200824164705

如上,集群172.17.16.16;172.17.32.16;172.17.32.2,唯独172.17.32.2节点的无法正常通信。

调查

  1. 初始怀疑172.17.32.2节点kube-proxy组件异常,观察发现该节点kube-proxy的pod为running,对比正常节点,日志未发现错误信息。
  2. 通过iptables -S -t nat|grep 31400调查正常节点和异常节点的对于nodeport类型的iptables规则,也未发现异常。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要创建一个 Kubernetes 节点,您需要完成以下步骤: 1. 安装 Docker:Kubernetes 使用 Docker 引擎来管理容器,因此您需要在节点上安装 Docker。 2. 安装 kubeadm、kubelet 和 kubectl:这些工具是 Kubernetes 的基本组件,必须安装在所有节点上。 3. 初始化节点:使用 kubeadm 工具初始化节点,将其加入 Kubernetes 集群。 4. 加入节点:将新节点加入 Kubernetes 集群。 下面是一些更具体的步骤: 1. 安装 Docker 请参阅 Docker 官方文档,安装 Docker 引擎。 2. 安装 kubeadm、kubelet 和 kubectl 您可以使用以下命令下载和安装这些组件: ``` apt-get update && apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet kubeadm kubectl ``` 3. 初始化节点 使用 kubeadm 工具初始化 Kubernetes 节点,执行以下命令: ``` kubeadm init --pod-network-cidr=192.168.0.0/16 ``` 其中,--pod-network-cidr 参数是指定 Pod 网络 CIDR。您可以根据需要修改。 4. 加入节点 将新节点加入 Kubernetes 集群,执行以下命令: ``` kubeadm join <master-node-ip>:<master-node-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash> ``` 其中,<master-node-ip> 和 <master-node-port> 是主节点的 IP 地址和端口号,<token> 和 <hash> 是由 kubeadm init 命令生成的令牌和哈希值。 完成上述步骤后,您就可以在 Kubernetes 集群中部署容器了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值