Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jdbc 如何使用谷歌云入口公开蟑螂数据库进行外部负载测试_Jdbc_Google Cloud Platform_Kubernetes Ingress_Cockroachdb_Ycsb - Fatal编程技术网

Jdbc 如何使用谷歌云入口公开蟑螂数据库进行外部负载测试

Jdbc 如何使用谷歌云入口公开蟑螂数据库进行外部负载测试,jdbc,google-cloud-platform,kubernetes-ingress,cockroachdb,ycsb,Jdbc,Google Cloud Platform,Kubernetes Ingress,Cockroachdb,Ycsb,对于我目前在研究中的分布式数据库项目,我应该在Google Cloud Kubernetes引擎上部署一个CockrouchDB集群,并对其运行YCSB负载测试 YCSB客户端将在另一个VM上运行,以便结果与其他组的结果相比较 现在,我需要公开端口8080上的DB控制台以及端口26257上的数据库端点 到目前为止,我开始将cockraochdb公共服务更改为kind:NodePort,并使用入口暴露其端口。我当前的问题是公开这两个端口(如果可能,在它们的默认端口8080和26257上),并使它们

对于我目前在研究中的分布式数据库项目,我应该在Google Cloud Kubernetes引擎上部署一个CockrouchDB集群,并对其运行YCSB负载测试

YCSB客户端将在另一个VM上运行,以便结果与其他组的结果相比较

现在,我需要公开端口8080上的DB控制台以及端口26257上的数据库端点

到目前为止,我开始将cockraochdb公共服务更改为
kind:NodePort
,并使用入口暴露其端口。我当前的问题是公开这两个端口(如果可能,在它们的默认端口8080和26257上),并使它们可以从YCSB访问

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: cockroachdb-ingress
  annotations:
    kubernetes.io/ingress.global-static-ip-name: cockroachdb-global-ip
    ingress.citrix.com/insecure-service-type: “tcp”
    ingress.citrix.com/insecure-port: “6379”
  labels:
    app: cockroachdb
spec:
  backend:
    serviceName: cockroachdb-public
    servicePort: 26257
  rules:
  - http:
      paths:
      - path: /labs/*
        backend:
          serviceName: cockroachdb-public
          servicePort: 8080
      - path: /*
        backend:
          serviceName: cockroachdb-public
          servicePort: 26257
到目前为止,我只是设法将它路由到不同的路径。我不确定这是否可行,因为YCSB使用的JDBC驱动程序使用的是TCP而不是http

如何使用TCP入口公开一个服务的两个端口?

重点关注:

如何使用TCP入口公开一个服务的两个端口

通常,当引用
入口
资源时,它用于
HTTP
/
HTTPS
流量

您不能像您的问题中提到的那样使用
入口
公开
TCP
流量

旁注

有一些选项可以使用
入口
控制器传递
TCP/UDP
流量()


您可以使用
LoadBalancer
类型的服务公开您的应用程序:

apiVersion:v1 种类:服务 元数据: 名称:cockroach db cockroachdb public 名称空间:默认值 规格: 端口: -姓名:grpc 港口:26257 协议:TCP 目标港口:grpc#(集装箱港口:26257) -名称:http 端口:8080 协议:TCP 目标端口:http#(containerPort:8080) 选择器: 选择器:插入-selector-FROM-YOUR-APP 类型:负载平衡器 免责声明

上述示例取自
cockroachdb
Helm图表,修改值如下:

  • service.public.type=“LoadBalancer”
根据上述定义,您将使用
TCP
/
UDP
负载平衡器将
pod
暴露给端口上的外部流量:
8080
26257
。您可以通过以下链接了解更多信息:


YCSB客户端将在另一个VM上运行,以便结果与其他组的结果相比较

如果此
VM
位于
GCP
基础设施中,您还可以查看内部TCP/UDP负载平衡器:


另外,我不确定您的
ingres
资源的注释:

apiVersion:extensions/v1beta1
种类:入口
元数据:
名称:蟑螂入侵
注释:
kubernetes.io/ingres.global-static-ip-name:cockroachdb global ip
ingress.citrix.com/unsecure-service-type:“tcp”
ingress.citrix.com/unsecure-port:“6379”
GKE
中,当您创建
ingres
而不指定您正在使用的
ingres.class
控制器时。
ingres.citrix.com
注释特定于citrix控制器,不适用于
gce
控制器


额外资源:

专注于:

如何使用TCP入口公开一个服务的两个端口

通常,当引用
入口
资源时,它用于
HTTP
/
HTTPS
流量

您不能像您的问题中提到的那样使用
入口
公开
TCP
流量

旁注

有一些选项可以使用
入口
控制器传递
TCP/UDP
流量()


您可以使用
LoadBalancer
类型的服务公开您的应用程序:

apiVersion:v1 种类:服务 元数据: 名称:cockroach db cockroachdb public 名称空间:默认值 规格: 端口: -姓名:grpc 港口:26257 协议:TCP 目标港口:grpc#(集装箱港口:26257) -名称:http 端口:8080 协议:TCP 目标端口:http#(containerPort:8080) 选择器: 选择器:插入-selector-FROM-YOUR-APP 类型:负载平衡器 免责声明

上述示例取自
cockroachdb
Helm图表,修改值如下:

  • service.public.type=“LoadBalancer”
根据上述定义,您将使用
TCP
/
UDP
负载平衡器将
pod
暴露给端口上的外部流量:
8080
26257
。您可以通过以下链接了解更多信息:


YCSB客户端将在另一个VM上运行,以便结果与其他组的结果相比较

如果此
VM
位于
GCP
基础设施中,您还可以查看内部TCP/UDP负载平衡器:


另外,我不确定您的
ingres
资源的注释:

apiVersion:extensions/v1beta1
种类:入口
元数据:
名称:蟑螂入侵
注释:
kubernetes.io/ingres.global-static-ip-name:cockroachdb global ip
ingress.citrix.com/unsecure-service-type:“tcp”
ingress.citrix.com/unsecure-port:“6379”
GKE
中,当您创建
ingres
而不指定您正在使用的
ingres.class
控制器时。
ingres.citrix.com
注释特定于citrix控制器,不适用于
gce
控制器


额外资源: