k3s/examples/https-nginx
Tim Hockin f7512d007b Add munger to verify kubectl -f targets, fix docs 2015-07-16 15:39:45 -07:00
..
Dockerfile Add a nginx https example 2015-07-14 18:09:13 -07:00
Makefile Add a nginx https example 2015-07-14 18:09:13 -07:00
README.md Add munger to verify kubectl -f targets, fix docs 2015-07-16 15:39:45 -07:00
default.conf Add a nginx https example 2015-07-14 18:09:13 -07:00
make_secret.go Add a nginx https example 2015-07-14 18:09:13 -07:00
nginx-app.yaml Add a nginx https example 2015-07-14 18:09:13 -07:00

README.md

WARNING WARNING WARNING

PLEASE NOTE: This document applies to the HEAD of the source tree only. If you are using a released version of Kubernetes, you almost certainly want the docs that go with that version.

Documentation for specific releases can be found at releases.k8s.io.

WARNING WARNING WARNING

Nginx https service

This example creates a basic nginx https service useful in verifying proof of concept, keys, secrets, and end-to-end https service creation in kubernetes. It uses an nginx server block to serve the index page over both http and https.

Generate certificates

First generate a self signed rsa key and certificate that the server can use for TLS.

$ make keys secret KEY=/tmp/nginx.key CERT=/tmp/nginx.crt SECRET=/tmp/secret.json

Create a https nginx application running in a kubernetes cluster

You need a running kubernetes cluster for this to work.

$ kubectl create -f /tmp/secret.json
secrets/nginxsecret

$ kubectl create -f examples/https-nginx/nginx-app.yaml
services/nginxsvc
replicationcontrollers/my-nginx

$ kubectl get svc nginxsvc -o json
...
                    {
                        "name": "http",
                        "protocol": "TCP",
                        "port": 80,
                        "targetPort": 80,
                        "nodePort": 30849
                    },
                    {
                        "name": "https",
                        "protocol": "TCP",
                        "port": 443,
                        "targetPort": 443,
                        "nodePort": 30744
                    }
...

$ kubectl get nodes -o json | grep ExternalIP -A 2
...
                        "type": "ExternalIP",
                        "address": "104.197.63.17"
                    }
--
                        "type": "ExternalIP",
                        "address": "104.154.89.170"
                    }
...

$ curl https://nodeip:30744 -k
...
<title>Welcome to nginx!</title>
...

For more information on how to run this in a kubernetes cluster, please see the user-guide.

Analytics