Skip to content

Instantly share code, notes, and snippets.

@aledbf
Last active June 2, 2016 15:19
Show Gist options
  • Save aledbf/d88c7f7d0b8d4d032035b14ab0965e26 to your computer and use it in GitHub Desktop.
Save aledbf/d88c7f7d0b8d4d032035b14ab0965e26 to your computer and use it in GitHub Desktop.
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 -
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment