美文网首页
k8s集群内添加外部hostname解析

k8s集群内添加外部hostname解析

作者: 崔天浩 | 来源:发表于2019-12-09 10:27 被阅读0次

k8s集群内添加外部hostname解析

使用场景

  1. 用于在k8s内部集群下,让pod可以直接解析外部主机hostname

例子:

hbase部署在外部vm上,K8S集群pod网络下的jstorm拓扑需要访问客户的 hbase zk中获取到hbase node的地址,有时候hbase zk里面获取的地址是hbase主机的hostname,这时候k8s集群下pod是无法解析道这个hostname,会导致无法访问

操作步骤

  1. 首先确认需要访问的hostname 和对应的 IP地址
  2. 然后在k8s集群内创建 endpoints,service

例子

下面是对应使用的YAML,里面做的映射是 hostname-1 192.168.65.12 ,

可以根据不同环境修改对应 endpoints,service的 name 参数(为hostname),和endpoints的 ip参数(为hostname 映射的ip)

apiVersion: v1
kind: Endpoints
metadata:
  name: hostname-1
subsets:
- addresses:
  - ip: 192.168.65.12
  ports:
  - name: default
    port: 42
    protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: hostname-1
spec:
  clusterIP: None
  ports:
  - name: default
    port: 42
    protocol: TCP
    targetPort: 42
  type: ClusterIP
status:
  loadBalancer: {}

测试

  1. 我们这样就为 192.168.65.12 主机映射的 hostname-1 域名解析,这样在k8s环境内直接访问 hostname-1 主机名就可以解析为 192.168.65.12 地址了
image

相关文章

  • k8s集群内添加外部hostname解析

    k8s集群内添加外部hostname解析 使用场景 用于在k8s内部集群下,让pod可以直接解析外部主机hostn...

  • Pod内进程访问k8s服务

    Pod内进程访问k8s服务 外部服务可以通过kubeconfig访问k8s服务,那k8s集群内部服务(Pos内服务...

  • k8s-访问外网服务的两种方式

    需求 k8s集群内的pod需要访问mysql,由于mysql的性质,不适合部署在k8s集群内,故k8s集群内的应用...

  • k8s的网络发现

    k8s网络场景 容器与容器之间的通信 pod与pod之间的通信 pod到service之间的通信 集群外部与集群内...

  • 天翼云DNS问题记录

    天翼云上自建K8S集群后发现容器无法访问外部域名,比如www.baidu.com。 测试发现ip解析如下: 而正确...

  • Kubernetes 0-1 K8S部署coredns

    在K8S集群未部署DNS之前,K8S中运行的Pod是无法访问外部网络的,因为无法完成域名解析。 比如我们运行一个b...

  • kubernetes 安装配置 GitLab Runner

    添加现有kubernetes 集群 首先你必须要添加一个现有的k8s集群 gitlab 添加现有的 kuberne...

  • Gitlab添加K8S集群

    本文介绍如何在Gitlab项目中添加K8S集群,以便使用K8S集群部署gitlab-runner帮我们运行gitl...

  • flannel网络模式

    flannel,k8s的网络模型,为k8s集群内的容器提供网络服务的组件。 主要作用: 为集群内所有容器提供一个扁...

  • k8s使用kube-router暴露集群中的pod和svc到外部

    简介 使用kube-router把k8s集群中的pod ip和cluter i暴露集群外部,实现集群外的节点直接访...

网友评论

      本文标题:k8s集群内添加外部hostname解析

      本文链接:https://www.haomeiwen.com/subject/byhbgctx.html