kubernetes 1.11配置使用nginx ingress

作者: ygqygq2 分类: 系统/运维,虚拟化/容器 发布时间: 2018-08-24 14:21

kubernetes 1.11配置使用nginx ingress

[TOC]

1. 实验环境说明

lab1: etcd master haproxy keepalived 192.168.105.92
lab2: etcd master haproxy keepalived 192.168.105.93
lab3: etcd master haproxy keepalived 192.168.105.94
lab4: node  192.168.105.95
lab4: node  192.168.105.96

vip(loadblancer ip): 192.168.105.99

2. 暴露服务的方式

由于Pod和Service是kubernetes集群范围内的虚拟概念,所以集群外的客户端系统无法通过Pod的IP地址或者Service的虚拟IP地址和虚拟端口号访问到它们。为了让外部客户端能够访问到这些服务,可以将Pod或Service的端口号映射到宿主机。

  1. 将容器应用的端口号映射到物理机
    1)设置容器级别的hostPort,将容器应用的端口号映射到物理机
    2)设置Pod级别的hostNetwork=true,该Pod中所有容器的端口号都将被直接映射到物理机上
  2. 将Service的端口号映射到物理机
    1)设置nodePort映射到物理机,同时设置Service的类型为NodePort
    2)设置LoadBalancer映射到云服务商提供的LoadBalancer地址

如果设置了Service的nodePort,那么集群会在每一个节点都监听设置的nodePort,外部客户端可以通过任意 nodeIP:Port的方式对集群服务进行访问。但是当集群中服务较多,那么需要管理的端口也会比较多,各个端口之间不能冲突,比较麻烦;另外,因为方式访问形式为nodeIP:Port的方式,那么对于一些HTTP服务,这种方式是无法做到根据URL路径进行转发的。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据