kubernetes将外部服务映射为内部服务

在实际应用中,一般不会把mysql这种重IO、有状态的应用直接放入k8s中,而是使用专用的服务器来独立部署。而像web这种无状态应用依然会运行在k8s当中,这时web服务器要连接k8s管理之外的数据库,有两种方式:一是直接连接数据库所在物理服务器IP,另一种方式就是借助k8s的Endpoints直接将外部服务器映射为k8s内部的一个服务。

下面这个例子就是展示Endpoints将外部服务映射为k8s内部服务的例子。
将外部服务器的172.17.241.47、59.107.26.221的80端口映射到内部服务

1cat << EOF > lykops-service.yaml 2apiVersion: v1 3kind: Service 4metadata: 5 name: lykops 6spec: 7 ports: 8 - port: 80 9 targetPort: 81 10 protocol: TCP 11EOF 12 13cat << EOF > lykops-endpoints.yaml 14apiVersion: v1 15kind: Endpoints 16metadata: 17 name: lykops 18subsets: 19 - addresses: 20 - ip: 172.17.241.47 21 - ip: 59.107.26.221 22 ports: 23 - port: 80 24 protocol: TCP 25EOF 26 27kubectl create -f test-endpoints.yaml 28kubectl create -f test-service.yaml

Endpoints的subsets中指定了需要连接的外部服务器的IP和端口。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

K8s 开始

是用于自动部署,扩展和管理容器化应用程序的开源系统。本文将介绍如何快速开始K8s的使用。了解K8s搭建K8s本地开发测试,需要搭建一个K8s轻量服务。实际部署时,可以用云厂商的K8s服务。本文以k3d为例,于macOS搭建K8s服务。于Ubuntu则推荐MicroK8s。其他可替代方案有:,,是Ra

Kubernetes(三):k8s集群部署之kubeadm

k8s部署环境公有云环境:AWS、腾讯云、阿里云等等私有云:OpenStack、vSphere等Baremetal环境:物理服务器或独立虚拟机(底层没有云环境)。k8s部署方式Minikube:Kubernetes官网提供的微型分布式环境(ht

Kubernetes 学习24 helm入门

一、概述  1、我们此前在使用kubernetes中,无论我们使用无状态的应用程序,比如myapp,nginx。以及有状态的tomcat,redis,etcd,...等等,他们部署在k8s之上会有这样的问题。首先对无状态应用我们首先使用deployment控制器来实现控制以后其规模伸缩极其容易。这也是k8s带给我们的最重要的需要。但是如果是有状态的应用,