kubectl run echoheaders --image=gcr.io/google_containers/echoserver:1.3 --replicas=1 --port=8080
kubectl expose deployment echoheaders --port=80 --target-port=8080 --name=echoheaders-x
create Ingress rule for echoheaders-x service running on host foo.bar.com
echo "
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: demo
namespace: default
spec:
rules:
- host: foo.bar.com
http:
paths:
- backend:
serviceName: echoheaders-x
servicePort: 80
path: /
" | kubectl create -f -
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/tls.key -out /tmp/tls.crt -subj "/CN=foo.bar.com"
echo "
apiVersion: v1
kind: Secret
metadata:
name: foo-tls
data:
tls.crt: `base64 /tmp/tls.crt`
tls.key: `base64 /tmp/tls.key`
" | kubectl create -f -
echo "
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: foo-tls
namespace: default
spec:
backend:
serviceName: echoheaders-x
servicePort: 80
tls:
- hosts:
- foo.bar.com
secretName: foo-tls
" | kubectl create -f -