`

Kubernetes之Pod访问内外网

 
阅读更多

Kubernetes集群装好后,如果Pod的ip无法访问或者Pod无法访问外部host ip。可通过如下步骤添加Iptables规则,已验证。

 

step 1:

通过route 查询flannel名称信息,如 flannel.1

step 2:

ifconfig 查询flannel 的 ip信息,如 ifconfig flannel.1

flannel.1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 192.244.3.0  netmask 255.255.255.255  broadcast 0.0.0.0

 step 3:

添加路由规则

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -L -n
iptables -t nat -I POSTROUTING -s 192.244.3.0/24 -j MASQUERADE

参数说明:

-L 显示所选链的所有规则。

-n 数字输出。

-F 清空所选链。这等于把所有规则一个个的删除。

-t 这个选项指定命令要操作的匹配包的表。如果内核被配置为自动加载模块,这时若模块没有加载,(系统)将尝试(为该表)加载适合的模块。这些表如下: filter,这是默认的表,包含了内建的链INPUT(处理进入的包)、FORWORD(处理通过的包)和OUTPUT(处理本地生成的包)。nat, 这个表被查询时表示遇到了产生新的连接的包,由三个内建的链构成:PREROUTING (修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准备出去的包)。mangle 这个表用来对指定的包进行修改。它有两个内建规则:PREROUTING(修改路由之前进入的包)和OUTPUT(修改路由之前本地的包)。

MASQUERADE 
只用于nat表的POSTROUTING链。只能用于动态获取IP(拨号)连接:如果你拥有静态IP地址,你要用 SNAT。伪装相当于给包发出时所经过接口的IP地址设置一个映像,当接口关闭连接会终止。这是因为当下一次拨号时未必是相同的接口地址(以后所有建立的 连接都将关闭)。

iptables更详细信息转载:

https://www.cnblogs.com/yinzhengjie/p/6256727.html

分享到:
评论

相关推荐

    Kubernetes内外网通信,集群外节点访问 pod ip 路由隧道.C/S架构实现

    原文链接:https://blog.csdn.net/weixin_48711696/article/details/135972824

    Kubernetes Handbook

    - **API Server**:是Kubernetes集群的控制中枢,它提供了RESTful API接口供集群内外进行通信和管理。 - **Controller Manager**:负责运行控制器,实现对集群状态的管理,并确保集群状态符合预期的配置。 - **...

    万台集群规模下的kubernetes实践-徐运元29页.pdf

    这些方案能够确保集群内外的Pod能够相互访问,实现跨多个集群的服务调用。 最后,DevOps集成与微服务集成是大规模集群Kubernetes实践中的重要方面,它们涉及到持续集成和持续部署的流程优化,以及微服务架构的高效...

    k8s负载均衡分析

    NodePort是每个节点上内部负载均衡器的开放点Nodeprot存在与每一个Node节点上访问任意节点的NodePort都会代理到响应的POD中优点:直接可以使用,k8s原生支持缺点: 1. 具体开放的Node的选择难题(尚未验证能否使用...

    Kuberenetes-Basic-Commands

    将内部可访问的Pod暴露为Service,使其可以通过集群内外的网络访问。例如,`kubectl expose deployment my-deployment --type=LoadBalancer`会创建一个负载均衡器类型的Service。 10. **kubectl scale**: 调整...

    K8S监控blackbox-exporter镜像及资源清单文件

    Kubernetes(简称K8S)作为现代云原生应用的基石,提供了一种高效、灵活的容器编排方式。在K8S环境中,对服务的健康状态进行监控至关重要。Blackbox Exporter是Prometheus监控体系中的一个重要组件,它允许我们对...

    k8s-config

    9. **RBAC (Role-Based Access Control)**:用于管理和控制 Kubernetes 集群的访问权限,通过角色(Role)、角色绑定(RoleBinding)以及集群角色(ClusterRole)和集群角色绑定(ClusterRoleBinding)来实现。...

    K8S-Learning

    此外,Service资源定义了如何暴露应用给集群内外的访问。 4. **存储**:Kubernetes支持多种存储类型,包括本地存储、网络存储和云存储。Volume是K8s中的持久化存储抽象,用于Pod的数据持久化。 5. **扩展性**:...

    k8s-config:配置库

    2. **Services**: 为Pods提供网络服务,让集群内外可以访问到应用,可以通过负载均衡策略如轮询、最少连接数等进行流量分配。 3. **Pods**: Kubernetes的基本执行单元,可以包含一个或多个容器。Pod的配置文件定义...

    H13-821 2.0题库.docx

    - 理解CCE(容器服务)和Kubernetes的基础知识,包括Pod、Service和Deployment等概念。 - 掌握应用的容器化部署和集群管理。 8. **云迁移与运维**: - 学习华为云的迁移工具和服务,如Cloud Migration和...

    基于K8S的容器云平台部署微服务.docx

    DMZ区的Openshift部署对外发布的应用,负责处理外网的访问,而内网的Openshift部署针对内网的应用,仅负责处理内网的访问。 此外,我们还讨论了权限管理的问题。权限管理对于企业级的应用平台来说,会有来自企业...

Global site tag (gtag.js) - Google Analytics