deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: go-grpc-server-demo
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: go-grpc-server-demo
template:
metadata:
labels:
app: go-grpc-server-demo
spec:
containers:
- name: go-grpc-server-demo
image: <reponame>/go-grpc-server-demo
imagePullPolicy: Always
imagePullSecrets:
- name: image-pull-secret-default
ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: go-grpc-server-demo
namespace: default
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
ingressClassName: nginx
tls:
- hosts:
- "grpc-demo.domain.com"
secretName: tls-domain-com
rules:
- host: grpc-demo.domain.com
http:
paths:
- path: /
backend:
serviceName: traefik
servicePort: 80
service.yaml
apiVersion: v1
kind: Service
metadata:
name: go-grpc-server-demo
namespace: default
labels:
service: go-grpc-server-demo
spec:
ports:
- port: __PORT__
protocol: TCP
targetPort: __PORT__
selector:
app: go-grpc-server-demo
type: ClusterIP
server.go