Giter Site home page Giter Site logo

ingress-controller's Introduction

Description

使用openresty完成的kubernetes的ingress controller。仅适合etcd的v2版本。

Usage

nginx.conf

lua_code_cache on;
lua_package_path "/usr/local/nginx/resty/?.lua;;";
lua_package_cpath "/usr/local/nginx/resty/?.so;;";
init_worker_by_lua_file "/usr/local/nginx/resty/init.lua";
access_by_lua_file "/usr/local/nginx/resty/access.lua";
upstream etcd_pool {
  server 0.0.0.1;
  balancer_by_lua_file "/usr/local/nginx/resty/balancer.lua";
  keepalive 60;
}

server {
  listen 80 default;
  server_name _;
  location / {
    proxy_pass http://etcd_pool;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
  }

server {
  listen 80;
  server_name example.com;
  location /status {
    content_by_lua_file "/usr/local/nginx/resty/lua-resty-ingress-etcd/status.lua";
  }
  #查看endpoints
  location /ep_status {
    content_by_lua_file "/usr/local/nginx/resty/lua-resty-endpoint-etcd/status.lua";
  }
  #查看service
  location /service_status {
    content_by_lua_file "/usr/local/nginx/resty/lua-resty-service-etcd/status.lua";
  }
}

Note

  • etcd的配置在resty/lua-resty-config/config.lua, 写死了etcd的IP地址
  • chash的配置可以在Service的annotations里指定,如:
      apiVersion: v1
      kind: Service
      metadata:
        name: test
        annotations:
          affinity: chash
      spec:
        ports:
        - port: 8080
          protocol: TCP
        selector:
          app: test
    

ingress-controller's People

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.