一、目的
验证K8s集群中Ingress的路径转发是否生效,具体指的是:通过HTTP/HTTPS的方式暴露服务,外部除了可以通过域名区分不通的服务外,另外一种方式就是通过路径的方式区分不通的服务,本文通过构建Ingress镜像来验证如何通过路径的方式来访问不同的服务。
二、实施过程
1. 构建镜像
以Nginx镜像为基础构建一个简单的Nginx镜像,Dockerfile如下:
FROM nginx:1.16.0
WORKDIR /usr/local/nginx/html/
RUN mkdir A && echo "<p>HELLO DOCKER</p>" > A/index.html
RUN mkdir B && echo "<p>HELLO DOCKER22</p>" > B/index22.html
构建出来的镜像很简单,只是在nginx的前端页面中新建了两个子目录,用于区分服务A和服务B。保存以上Dockerfile,执行docker build -t nginx:v1 .
构建镜像。
2. 验证构建出的镜像
完成镜像的构建后,执行docker run -d -p 80:80 --name mynginx nginx:v1
以后台方式运行一个名为mynginx的容器,然后再浏览器中分别通过http://localhost:80/A/index.html
可以访问到服务A的内容为我们刚刚构建镜像时写入的内容HELLO DOCKER
,通过http://localhost:80/B/index22.html
可以访问到服务B的内容为我们刚刚构建镜像时写入的内容HELLO DOCKER22
.
3. K8s中HTTPS协议路径访问服务
通过K8s中的Ingress可以完成HTTP协议或者HTTPS协议访问服务,以下分几步创建K8s中的资源对象。
3.1 创建Deployment
ApiVersion: v1
网友评论