Git Product home page Git Product logo

kong-dist-kubernetes's Introduction

Website Documentation Mailing List Gitter Badge

Kong can easily be provisioned to Kubernetes cluster using the following steps:

  1. Initial setup

    Download or clone the following repo:

    $ git clone [email protected]:Mashape/kong-dist-kubernetes.git
    $ cd kong-dist-kubernetes

    If you want to run Kubernetes locally, please follow the README in minikube subfolder.

    Skip to step 3 if you have already provisioned a cluster and registered it with Kubernetes.

  2. Deploy a GKE cluster

    You need gcloud and [kubectl]https://cloud.google.com/container-engine/docs/quickstart#install_the_gcloud_command-line_interface) command-line tools installed and set upto run deployment commands. Also make sure your Google Cloud account has atleast two STATIC_ADDRESSES available.

    Using the cluster.yaml file from this repo, deploy a GKE cluster. Provide the following information before deploying:

    1. Desired cluster name
    2. Zone in which to run the cluster
    3. A basicauth username and password for authenticating the access to the cluster
    $ gcloud deployment-manager deployments \ 
        create cluster --config cluster.yaml

    By now, you have provisioned a Kubernetes managed cluster.

  3. Deploy a Kong supported database

    Before deploying Kong, you need to provision a Cassandra or PostgreSQL pod.

    For Cassandra, use the cassandra.yaml file from this repo to deploy a Cassandra Service and a ReplicationController in the cluster:

    $ kubectl create -f cassandra.yaml

    For PostgreSQL, use the postgres.yaml file from the kong-dist-kubernetes repo to deploy a PostgreSQL Service and a ReplicationController in the cluster:

    $ kubectl create -f postgres.yaml
  4. Deploy Kong

    Using the kong_<postgres|cassandra>.yaml file from this repo, deploy a Kong Service and a Deployment to the cluster created in the last step:

    $ kubectl create -f kong_<postgres|cassandra>.yaml
  5. Verify your deployments

    You can now see the resources that have been deployed using kubectl:

    $ kubectl get rc
    $ kubectl get deployment
    $ kubectl get pods
    $ kubectl get services
    $ kubectl get logs <pod-name>

    Once the EXTERNAL_IP is available for Kong Proxy and Admin services, you can test Kong by making the following requests:

    $ curl <admin-ip-address>:8001
    $ curl <proxy-ip-address>:8000
  6. Using Kong

    Quickly learn how to use Kong with the 5-minute Quickstart.

Important Note

When deploying into a Kubernetes cluster with Deployment Manager, it is important to be aware that deleting ReplicationController Kubernetes objects does not delete its underlying pods, and it is your responisibility to manage the destruction of these resources when deleting or updating a ReplicationController in your configuration.

Enterprise Support

Support, Demo, Training, API Certifications and Consulting available at http://getkong.org/enterprise.

kong-dist-kubernetes's People

Contributors

shashiranjan84 avatar pabloguerrero avatar jammm avatar fgribreau avatar thibaultcha avatar dhudsmith avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.