Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/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
Docker Kubernetes上的C#GRPC服务_Docker_Kubernetes_.net Core_Grpc_Flannel - Fatal编程技术网

Docker Kubernetes上的C#GRPC服务

Docker Kubernetes上的C#GRPC服务,docker,kubernetes,.net-core,grpc,flannel,Docker,Kubernetes,.net Core,Grpc,Flannel,我有一个用C#编写的GRPC服务,它使用部署在Kubernetes中的.net内核,并将flannel作为CNI。当我尝试使用服务:9000从部署在同一集群上的另一个容器连接到上的此GRPC服务时,我获得了状态(StatusCode=Unavailable,Detail=connect Failed\) 我在没有容器和K8的机器上进行了本地检查,一切正常 此服务的我的部署yaml如下所示: apiVersion: v1 kind: PersistentVolumeClaim metadata:

我有一个用C#编写的GRPC服务,它使用部署在Kubernetes中的.net内核,并将flannel作为CNI。当我尝试使用服务:9000从部署在同一集群上的另一个容器连接到上的此GRPC服务时,我获得了状态(StatusCode=Unavailable,Detail=connect Failed\)

我在没有容器和K8的机器上进行了本地检查,一切正常

此服务的我的部署yaml如下所示:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  finalizers:
  - kubernetes.io/pvc-protection
  name: service-pvc
  namespace: services
spec:
  accessModes:
  - ReadWriteOnce
  - ReadOnlyMany
  - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: ""
  volumeName: nfs-service
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: service-deployment
  labels:
    app: service
  name: service
  namespace: services
spec:
  selector:
    matchLabels:
      app: service
  replicas: 1
  template:
    metadata:
      labels:
        app: service
    spec:
      containers:
        image: <ImageUrl>
        imagePullPolicy: Always
        name: service  
        ports:
        - containerPort: 9000
          name: service
          protocol: TCP
        securityContext:
          allowPrivilegeEscalation: false
          privileged: false
          readOnlyRootFilesystem: false
          runAsNonRoot: false
        stdin: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        tty: true
        volumeMounts:
        - mountPath: /var/certs/
          name: service-vol1
          readOnly: true
          subPath: service
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      terminationGracePeriodSeconds: 30
      imagePullSecrets:
      - name: unstable      
      volumes:
      - name: service-vol1
        persistentVolumeClaim:
          claimName: service-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: service
  namespace: services
spec:
  selector:
    app: service
  ports:
  - port: 9000
    targetPort: service

尝试将kubernetes服务对象中的targetPort更改为9000

证书有问题。我试图使用使用通配符的SSL绑定。我将其更改为服务内部本地域并开始工作。

客户端服务是否在同一命名空间中?@DanFarrell是的,客户端和服务都在同一命名空间中。@aditya arun尝试连接GRPC服务时,能否共享客户端Pod中的日志?
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      1/dotnet
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      1/dotnet
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      1/dotnet
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      1/dotnet
root@service-67d57dfb6d-wsvvf:/app#