`
lykops
  • 浏览: 89248 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

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

cat << EOF > lykops-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: lykops
spec:
  ports:
  - port: 80
    targetPort: 81
    protocol: TCP
EOF

cat << EOF > lykops-endpoints.yaml
apiVersion: v1
kind: Endpoints
metadata:
  name: lykops
subsets:
  - addresses:
    - ip: 172.17.241.47
    - ip: 59.107.26.221
    ports:
    - port: 80
      protocol: TCP
EOF

kubectl create -f test-endpoints.yaml
kubectl create -f test-service.yaml

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

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    Kubernetes-服务发布(Service、Ingress)

    在Kubernetes环境中,服务发布是一个关键的概念,它允许用户将应用暴露给外部世界或者在集群内部实现不同服务之间的通信。在Kubernetes中,服务发布主要通过Service和Ingress来实现。 Service是Kubernetes中最基础...

    360私有云平台基于Kubernetes的容器服务实践.rar

    3. **服务发现与负载均衡**:创建Kubernetes服务,提供内部DNS解析和负载均衡,确保应用的高可用性和可访问性。 4. **自动扩展**:通过设置Horizontal Pod Autoscaler(HPA),可以根据CPU或内存使用情况自动调整...

    Kubernetes相关软件.zip

    其次,`dashboard-service.yaml`文件则定义了一个Kubernetes Service,它是集群内部的服务发现和负载均衡机制。Service定义了如何访问Pods,通常通过标签选择器来选取一组目标Pod。在这个文件中,你可能会看到...

    Go-Contour是LyftEnvoy代理的Kubernetes入口控制器

    2. **创建Ingress资源**:定义Ingress资源,指示Contour如何将外部请求映射到内部服务。 3. **配置Envoy**:Contour会自动检测Ingress资源的变化,并生成相应的Envoy配置。 4. **验证和监控**:使用Kubernetes的...

    【2021年12月升级版】Kubernetes全栈架构师:基于世界500强的k8s实战课程.rar

    4. **存储与网络**:理解Kubernetes中的持久化存储,如Persistent Volumes和Persistent Volume Claims,以及Ingress规则和网络策略,实现应用的外部访问和内部通信。 5. **自动化运维**:探索自动伸缩(Horizontal ...

    kubernetes中的微服务部署ingress-1.8.1

    在本篇文章中,我们将深入探讨如何在Kubernetes集群中部署微服务,并利用Ingress资源对象来管理外部访问。具体操作包括如何编写部署文件(deploy.yaml),以及如何定义和应用Ingress规则(ingress-1.8.1)来实现服务...

    Kubernetes指南(Kubernetes Handbook)

    Kubernetes 可用于资源控制、高可用性、端口映射、用户管理、GPU 支持、安全审计、备份恢复、证书轮换、大规模集群管理、大数据与机器学习应用、Serverless 架构等场景。对于常见问题,提供了详细的排错指南,涵盖从...

    Kubernetes ingress yaml文件包

    在Kubernetes集群中,Ingress是一种管理外部访问到Pod服务的机制,主要负责提供网络路由规则,使得外部请求可以通过特定的URL和端口映射到内部的服务上。本压缩包文件“Kubernetes ingress yaml文件包”很可能是包含...

    Kubernetes1.16下部署Prometheus+node-exporter+Grafana监_Attachments.zip

    创建Grafana的Deployment和Service,确保Grafana服务可以从外部访问。然后,通过配置Grafana的仪表板和数据源设置,使其连接到Prometheus,展示收集到的监控数据。 在Grafana中,你可以导入预先准备好的仪表板模板...

    kubernetes 学子资料相关

    7. **Ingress**:为Pod提供外部网络访问的规则,可以实现负载均衡和路径路由。 8. **Helm**:Kubernetes的应用包管理工具,用于简化应用的部署和管理。 在KEUC2017的PPT中,可能会涵盖这些概念的实际应用,以及...

    七、kubernetes Service详解.pdf

    4. ExternalName:将Service映射到指定的外部DNS名称,它通过返回一个CNAME记录来提供服务,不使用任何代理。 在Service的流量转发策略上,kube-proxy支持三种模式: 1. userspace模式:kube-proxy在用户空间监听...

    kubernetes中的微服务部署ingress-1.8.1的yaml

    在Kubernetes集群中部署微服务时,Ingress是管理外部访问应用服务的API对象,它定义了规则,如何将集群外部的流量路由到内部的服务。Ingress 1.8.1是一个比较早的版本,但其配置的基本概念和方法对于理解Ingress在...

    Kubernetes知识点归纳1

    - **Service Discovery**: K8s使用DNS系统,将Service名映射为DNS域名,使得内部通信更加便捷。 3. **Pod**: - **Pod IP**: 每个Pod都有一个独立的IP地址,Pod IP用于Pod间的通信,它们在一个虚拟的二层网络上...

    k8s-ddns:为CoreDNS部署Kubernetes ExternalDNS

    通过ExternalDNS,我们可以将内部服务的DNS记录映射到外部可访问的域名,使得外部网络能够通过域名直接访问Kubernetes服务。 部署ExternalDNS的过程主要包括以下步骤: 1. **准备环境**:确保你已经安装了`kubectl...

    Kubernetes应用快速部署指南.pptx

    在 Kubernetes 中,我们使用 Deployment 对象来定义无状态应用的规格,包括副本数量、容器镜像、端口映射等。通过 Rancher UI,我们可以直观地创建和管理 Deployment。遵循 Kubernetes 官方文档,可以了解更详细的...

    k8s-kotlin-dsl,用于kubernetes配置的kotlin dsl.zip

    - **Ingress**:定义外部网络到Kubernetes内部服务的访问规则。 - **PersistentVolume**和**PersistentVolumeClaim**:管理持久化存储,确保数据在Pod重启或删除后仍能保留。 3. **Fabric8 Kubernetes Client** ...

    Kubernetes篇之平台存储系统介绍

    Rook通过Kubernetes的CRD(Custom Resource Definition)将存储资源抽象为Kubernetes对象,简化了存储的生命周期管理。 Rook的工作原理如下: - **Operator**:Rook作为一个Operator,是Kubernetes的一个概念,它是...

    Kubernetes容器云平台介绍.pptx

    - **Service**:定义了如何访问一组 Pod,可以是内部服务或外部服务,支持多种发布方式,如 ClusterIP、NodePort、LoadBalancer。 - **StatefulSet/PetSet**:用于管理有状态应用的副本集。 - **Volume/Persistent ...

    7-k8s部署之Ingress1

    在Kubernetes(k8s)集群中,Ingress是一个核心组件,它允许集群外部的请求按照预设的规则路由到内部的服务。Ingress资源定义了一组规则,将HTTP和HTTPS请求映射到服务上,提供了负载均衡、SSL终止以及基于路径的...

Global site tag (gtag.js) - Google Analytics