1、进入/root目录,编辑对应的yaml文件
2、修改/增加spec/template/spec/containers/ports节点,增加以下内容
- containerPort: 8080
protocol: TCP
3、增加服务的yaml文件,通常以xxxx-srv.yaml方式命名,xxxx为服务名。内容如下:
apiVersion: v1
kind: Service
metadata:
name: 服务名
namespace: default
labels:
k8s-app: 服务名(这个需要与xxxx-rc.yaml文件中命名的k8s-app字段一致)
kubernetes.io/name: "服务名"
spec:
type: NodePort
selector:
k8s-app: 服务名
ports:
- name: 服务名-sv
port: 8081(pod上的端口)
targetPort: 8081(service上的端口)
nodePort: 30964(node上的端口,如果不设置则由kubernets自动分配)
4、创建服务
kubectl create -f xxxx-svc.yaml
5、查看服务端口号,其中NodePort即是该服务对外暴露的端口号
kubectl describe service xxxx-service
6、编辑/opt/haproxy/config/haproxy.cfg,增加haproxy配置。
listen servicename
bind 本地ip:对外开放的地址
mode tcp
server server1 服务地址:服务端口号 check port 服务端口号 inter 2000 rise 2 fall 2
分享到:
相关推荐
`apiVersion: v1` 的Service定义了对外的端口(6379)和内部目标端口(redis),以及选择器(selector)来关联对应的Pod。 二、部署 PostgreSQL 服务 PostgreSQL 是一个开源的关系型数据库管理系统,GitLab使用它...
这里,`targetPort`是Pod内部应用监听的端口,`port`是Service对外暴露的端口。 2. LoadBalancer:在Azure环境中,使用LoadBalancer类型会自动创建一个Azure Load Balancer实例,并将流量路由到Service。这提供了...
- LoadBalancer:使用云服务提供商的负载均衡器来实现服务的对外暴露。 - Headless:不分配集群IP,允许通过Pod的IP直接访问特定Pod。 ### 创建和访问服务 文档中通过命令行展示了如何创建服务。在创建服务时,...
- 修改配置文件:需要对外暴露端口时,修改grafana-service.yaml文件中的type从ClusterIP改为NodePort。 - 执行安装命令:通过kubectl create -f 命令部署Heapster、Grafana、InfluxDB的部署文件和服务文件。 4. ...
对外暴露服务的方式包括直接使用Service的公网IP、负载均衡Service或HTTP的Ingress资源。 Kubernetes不仅限于Linux环境,自1.5版本开始,也支持Windows Server容器。尽管Kubernetes和OpenStack在某些场景下可以协同...
你需要指定服务名、目标端口以及选择的暴露方式。 3. **持久化存储**: 由于Nacos需要持久化数据,所以需要创建一个PersistentVolumeClaim (PVC) 来请求存储资源。这通常包括存储类(StorageClass)的定义,如使用...
Kubernetes Ingress是集群中对外暴露服务的一种标准方式,它允许你定义基于HTTP/HTTPS的路由规则,可以将外部流量根据不同的路径、主机名或端口转发到内部的Service。Ingress并不直接实现这些功能,而是通过Ingress ...
服务可以有多种类型,如ClusterIP(内部访问)、NodePort(暴露在节点端口上)、LoadBalancer(云服务商提供的外部负载均衡)和Headless(无中心的DNS服务)。 4. **Volume**:Kubernetes的Volume机制解决了容器间...
当在Kubernetes中公开服务或创建ingress时,会从预配置的浮动IP池中分配一个FIP作为外部IP,提供对外服务的访问。 总之,TungstenFabric与Kubernetes的集成提供了强大的网络基础设施,不仅实现了容器的网络连接,...
此外,正确配置端口映射可以确保服务对外的暴露无误。 **GPU支持** 对于需要GPU资源的应用,如深度学习任务,Kubernetes支持GPU资源的调度。Pod可以声明对GPU的需求,集群会将它们调度到具有相应GPU资源的节点上。...
另一种方法是使用 Kubernetes Service 的类型为 `LoadBalancer` 或 `NodePort`,直接对外暴露服务的端口。 【总结】 本文详细介绍了如何将 H2 数据库从本地 JAR 包部署到 Kubernetes 集群中,并解决了在 ...
Service可以有ClusterIP(集群内访问)、NodePort(通过节点端口暴露服务)、LoadBalancer(云提供商提供的负载均衡器)和Ingress(对外HTTP/HTTPS访问)等多种类型,满足了不同场景的应用需求。 此外,Kubernetes...
BookInfo配置了一个对外暴露80端口的网关服务,并不绑定任何域名(这样才能以IP方式进行访问)。 虚拟服务(Virtual Service)就是配置如何在服务网格内将请求路由到服务,这基于Istio和平台提供的基本的连通性和...
MySQL部署完成后,需要获取虚拟机IP地址和MySQL服务的对外暴露端口号,以便后续Nacos配置。数据迁移是项目迁移的一部分,确保原有数据库的数据能平滑过渡到新的MySQL服务。 接下来,我们关注Nacos的配置。Nacos作为...
在 Kubernetes (k8s) 环境中,为容器提供服务和对外暴露服务是核心功能之一。原生的 Kubernetes 提供了多种方式来实现这一目标,包括 ClusterIP、NodePort、HostPort 和 Ingress。然而,这些原生方案在面对复杂需求...
7. **Ingress**:Ingress是对外暴露服务的方式,它定义了一组规则,将外部HTTP/HTTPS请求路由到Service。 8. **Namespace**:Namespace用于逻辑上划分Kubernetes集群,以便在一个物理集群上隔离不同的项目或用户。 ...
`spec.template.spec.containers` 部分定义了容器的详细信息,如名称、镜像(这里是 `nginx:latest`)以及对外暴露的端口(`containerPort: 80`)。这意味着每个 Pod 将启动一个名为 "my-container" 的容器,并运行...
Ingress是Kubernetes中用于对外暴露服务的一种方式,它允许外部网络通过HTTP/HTTPS协议访问内部服务。Ingress控制器是实现Ingress功能的关键,它监听Ingress资源的变化,并据此动态配置负载均衡器。当接收到请求时...
通过Service,我们可以对外暴露应用,或者在集群内部实现服务间的通信。 3. **Deployments**:Deployments负责管理Pod的生命周期,包括创建、更新和回滚Pod的配置。通过定义Deployment,你可以确保即使在节点故障或...
Service的访问类型主要有ClusterIP(集群内部访问)、NodePort(通过节点端口对外暴露服务)和LoadBalancer(云服务商提供的负载均衡器)。 在TCP层面,Service的代理功能通常是通过iptables规则实现的,这允许...