Docker Kubernetes  hostPort 代理转发

hostPort:

  • 1. 类似docker -p 映射宿主级端口到容器。
  • 2. 容器所在的主机暴露端口转发到指定容器中。
  • 3. hostport是通过代理转发的。

环境:

  • 系统:Centos 7.4 x64
  • Docker版本:18.09.0
  • Kubernetes版本:v1.8
  • 管理节点:192.168.1.79
  • 工作节点:192.168.1.78
  • 工作节点:192.168.1.77

1、创建yaml文件

vim hostport.yaml

apiVersion: v1
kind: Pod
metadata:
name: nginx-pod2
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.10
ports:
- name: http
containerPort: 80
hostIP: 0.0.0.0
hostPort: 89
protocol: TCP
- name: https
containerPort: 443
hostIP: 0.0.0.0
hostPort: 443
protocol: TCP
# 指定api版本
apiVersion: v1
# 指定需要创建的资源对象
kind: Pod
metadata:
# 源数据、可以写name,命名空间,对象标签
name: nginx-pod2
# 指定标签
labels:
# 标签名
app: nginx
# 描述资源相关信息
spec:
# 指定容器信息
containers:
# 容器名
- name: nginx
# 容器镜像名
image: nginx:1.10
# hostport管理
ports:
# 指定http端口名称
- name: http
# 指定容器端口
containerPort: 80
# hsotip监听IP,可通过哪些宿主级ip访问
hostIP: 0.0.0.0
# 宿主级暴露端口,它会映射到containerport的容器端口
hostPort: 89
# 指定协议类型
protocol: TCP
# 指定https
- name: https
# 指定容器端口
containerPort: 443
# hsotip监听IP,可通过哪些宿主级ip访问
hostIP: 0.0.0.0
# 宿主级暴露端口,它会映射到containerport的容器端口
hostPort: 443
# 指定协议类型
protocol: TCP

文件注解

注:可代理多个端口,这里代理的容器端口为80与443。

2、创建容器

kubectl create -f hostport.yaml
命令:kubectl get pods

NAME                    READY     STATUS    RESTARTS   AGE
nginx-pod2 1/1 Running 0 1m

查看是否运行成功

命令:ubectl get pods -o wide

NAME                    READY     STATUS    RESTARTS   AGE       IP           NODE
nginx-pod2 1/1 Running 0 2m 172.17.2.4 192.168.1.78

查看分配工作节点

命令:netstat -lnpt | grep 89
tcp6 0 0 :::89 :::* LISTEN 13373/docker-proxy 命令:netstat -lnpt | grep 443
tcp6 0 0 :::443 :::* LISTEN 13359/docker-proxy

工作节点查看端口

3、浏览器测试

Docker Kubernetes hostPort 代理转发的更多相关文章

  1. Linux +Docker +Nginx 部署代理转发初探

    很多开发人员仅仅只会码代码,如果让开发人员部署一些深入点的东西,或者做负载均衡等,很多开发人员估计就懵逼了,作为一个专业的开发还需要懂一些基本的运维知识:虽然说在互联网行业中,中小企业都有一个牛逼的运 ...

  2. Docker Kubernetes Service 网络服务代理模式详解

    Docker Kubernetes  Service 网络服务代理模式详解 Service service是实现kubernetes网络通信的一个服务 主要功能:负载均衡.网络规则分布到具体pod 注 ...

  3. Docker设置http代理

    在国内由于不可描述的原因无法访问Google等网站,但是作为一枚挨踢人士,无法使用Google搜索,在使用Ctrl + C技能时是抓狂的:特别是当下Docker.Kubernetes等容器技术火热的时 ...

  4. Docker Kubernetes 常用命令

    Docker Kubernetes 常用命令 增 # 通过文件名或标准输入创建资源. kubectl create # 读取指定文件内容,进行创建.(配置文件可指定json,yaml文件). kube ...

  5. 【Linux】【Services】【SaaS】Docker+kubernetes(1. 基础概念与架构图)

    1.简介 1.1.  背景:公司正在进行敏捷开发环境的搭建,以取代传统的架构,好处大大的,我就不赘述了.公司原来负责这个项目的同事要转组,我只好交给另外同事继续,但是为了防止同样的事情,我也需要深入了 ...

  6. Docker Kubernetes 项目

    Kubernetes 是 Google 团队发起并维护的基于Docker的开源容器集群管理系统,它不仅支持常见的云平台,而且支持内部数据中心. 建于Docker之上的Kubernetes可以构建一个容 ...

  7. Docker Kubernetes 环境搭建

    Docker Kubernetes 环境搭建 节点规划 版本 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 etcd存储版本:etcd-3. ...

  8. Docker Kubernetes 查询字段说明

    Docker Kubernetes  查询字段说明 # 打印受支持的API版本 kubectl api-versions # 扩展 apiextensions.k8s.io/v1beta1 # 注册 ...

  9. Docker Kubernetes 健康检查

    Docker Kubernetes 健康检查 提供Probe探测机制,有以下两种类型: livenessProbe:如果检查失败,将杀死容器,然后根据Pod的重启策略来决定是否重启. readines ...

随机推荐

  1. css特效 - 环形文字

    记一次群友问题和回答: 下面这种效果,文字是动态的,不能使用图片的情况下,前端怎么实现? 一.插件实现: arctext.js 教程地址:实现文字平滑弯曲弧形效果的插件-arctext.js 二.原生 ...

  2. wpgcms---循环导航

    使用wpgcms的时候,在后台设置了导航菜单,那么在前端是如何循环呢? 第一种:简便方法 {% set array = [ {name:'移动APP',icon:'icon-yidongAPP',co ...

  3. java 中的 Comparable 和 Comparator 与 Iterable 和 Iterator

    Comparable 和 Comparator Comparable 和 Comparator 是两个关系不大的类,其分别侧重于不同的方面. 其中,接口 Comparable<T> 强行对 ...

  4. python学习之旅(三)

    Python基础知识(2):运算符 一.算术运算符 加 +,减 -,乘 *,除 /,幂 **,求余 %,取整 // 二.成员运算符 in,not in 判断一个字符是否在字符串中 name = &qu ...

  5. C语言面试笔记(8/26)

    在32位的机器环境下,char.short.int.float.double这样的内置数据类型sizeof值的大小分别为1,2,4,4,8: C++标模板库(standard Template Lib ...

  6. F#周报2019年第3期

    新闻 SAFE最近的活动 什么开源项目适合我们的奖学金受益者上手工作 布署SAFE应用至Google Cloud AppEngine Alea GPU:使用F#进行GPU编程 Rider 2018.3 ...

  7. dataTransfer对象

    HTML5拖拽的数据传输 虽然通过dragstart.drag和dragend事件实现了原生拖拽.但是这仅仅是拖拽,在IE6和IE7中还是有些拖拽问题,并且也没有实现数据的交换.为了实现数据的交换,I ...

  8. SetupFactory 制作安装包

    SetupFactory9.0.3.0Trial汉化破解版+使用教程 https://download.csdn.net/download/u010188178/10652645

  9. 最全的MonkeyRunner自动化测试从入门到精通(5)

    夜神模拟器的安装与配置步骤一:我们为什么会选择使用夜神模拟器呢? 众所周知,Android studio的模拟器运行速度也很快,可以媲美真机.虽然其运行速度很快,可以满足我们测试的需求.但仍存在以下问 ...

  10. 《nginx - 基本操作/配置》

    一:基本操作 - 开启 Nginx nginx -c nginx.conf -  Nginx 的平滑重启 kill -HUP nginx主进程号(平滑重启) -  停止 Nginx * Kill -Q ...