►
From YouTube: Kong Ingress Controller - Kubernetes Ingress On Steroids
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
A
As
many
of
you
know,
or
if
you
don't
it's
worth
to
repeat
that
ingress,
it
is
one
of
the
most
important
components
of
your
application
deploys
because
it
allows
users
to
actually
start
using
your
application.
It
provides
the
way
how
traffic
from
outside
will
reach
some
of
the
services
that
you
deployed
inside
of
your
kubernetes
cluster,
and
today
I
will
be
showing
you
how
you
can
extend
this
knowledge
of
kubernetes
and
grass
by
implementing
some
of
the
extra
functionality
that
allows
your
application
to
be
more
robust
and
the
us
developer
can
do
less.
A
A
I
work
as
a
developer,
the
kit
here
in
conch,
and
if
you
want
to
ask
me
a
question
or
provide
a
suggestion,
or
you
want
to
talk
about
some
kubernetes
stuff,
feel
free.
You
can
shoot
me
a
dm
in
twitter
or
you
can
write
me
on
telegram.
Also
subscribe
to
my
youtube
channel,
I
usually
stream
or
post
some
of
the
cool
videos.
A
Okay.
So
let
me
briefly
outline
some
of
the
things
that
we're
gonna
be
talking
today.
What
I'm
gonna
be
I'll?
Try
it's
a
it's
still.
It's
still.
A
Things
that
will
be
depend
on
the
behavior
of
some
of
the
infrastructure
and
computers
and
stuff.
You
know,
computers
are
computers
are
notoriously
unreliable,
like
people,
so
we're
gonna
talk
a
little
bit
about
the
cloud
native
application
management.
A
I
will
introduce
some
of
the
important
things
about
ingress.
If
you
know
this
part,
it's
okay,
I'm
not
going
to
spend
much
of
the
time
I'll.
Just
like
provide
a
quick
refresher
for
those
of
you
who
don't
know
you
will
get
a
nice
introduction
to
understand
what
I'm
going
to
be
talking
about
and
during
the
demo
or
during
this
introduction
I
will
talk
a
little
bit
about
the
classical
rest
services
that
you
need
to
expose
to
outside
world.
You
need
to
expose
something
with
the
http.
A
I
will
show
you
how
we
can
expose
grpc
services,
which
is
based
on
the
http
2
protocol,
and
we
talked
about
about
how
you
can
actually
supercharge
your
grass
we're
going
to
be
talking.
Some
advanced
features,
specifically
we're
going
to
be
talking
about
plugins
that
we
can
apply
on
ingress
to
provide
some
extra
functionality
that
you
might
not
have
time
or
desire
to
implement
yourself.
A
So
when
we
deploy
our
applications
in
kubernetes
or
cloud
native
applications,
we
usually
deploy
them
in
grants
cluster
and
based
on
replicas
replica
config.
In
in
our
specification
for
our
deployment,
those
services
can
be
deployed.
Those
parts
that
will
contain
the
instances
of
your
application
will
be
deployed
in
different
nodes
in
queries,
cluster
and
in
order
to
provide
the
access
to
those
services
or
to
this
application
from
outside
world.
A
There
is
a
special
type
of
service
called
load
balancer
that
will
be
attaching
to
external
ip
address
and
providing
this
communication
to
connect
external
external
traffic
based
on
particular
routes,
with
particular
routing
rules
to
particular
service
when
we
deploy
multiple
other
applications,
we're
going
to
be
using
or
leveraging
the
same
pattern
that
many
of
you
know.
So,
of
course,
I'm
talking
about
the
bin
packing,
so
those
pods
and
containers
will
be
distributed
across
different
nodes,
of
course
cluster
and
for
different
services.
A
We
might
have
different
load
balancers
to
to
get
access
to
to
this.
So
it's
a
like
very
like
simplistic
way
of
thinking
of
this,
so
each
service,
if
you
see
this
brownish,
it's
or
reddish,
or
some
something
like
a
brownish
and
reddish
color-
that
will
represent
orders
service
and
to
have
its
own
load
balancer.
A
We
do
have
a
load
balancer
for
analytic
service
and
we
have
a
for
billing
service
now.
So
what
about
providing
a
centralized
access?
Instead
of
like
a
providing
load
balance
service,
we
can
provide
a
proxy,
and
this
proxy
essentially
is
the
kubernetes
ingress
that
object
exists
and
allows
to
create
different
rules
and
provides
like
a
common
entry
point
for
your
applications
and
ingress
as
many
of
resource
definitions.
That
available
in
kubernetes
are
usually
the
vendor
vendor
agnostic.
So
you
don't
have
anything
together
with
vendor.
So
let's
break
this
down.
Let's
take
a
look.
A
A
Egress
has
a
name
in
this
particular
case
we're
exposing
some
of
the
bills
services
we
specify
in
a
host,
and
we
specify
in
the
path
where
the
service
will
be
accessible,
and
this
particular
case.
The
bill
service
should
exist
and
the
build
service
will
be
accessible
to
outside
world
through
example.com,
slash,
blc
and
all
the
traffic
will
go
there.
A
But
functionality
wise
ingress,
it's
it's
the
same
load,
balancer
right.
It
provides
the
ways
how
to
do
this
that
provide
the
features
that
load
balancers
have
and
those
features
are
relying
on
some
of
the
things
that
you
can
offload
from
your
application.
You
don't
need
to
provide
the
ways
how
your
application
will
manage,
say:
certificates
for
your
tls
or
communication
dealing
with
the
load,
balancing
throttling
different
other
communication
pattern.
A
So
in
order
to
activate
this
in
order
to
start
working
with,
we
are
just
applying
the
kubernetes
object
to
api
server
and
based
on
this
api,
there
would
be
a
component
called
ingress
controller
that
will
be
listening,
all
objects
and
grass
and
will
materialize
them
and
create
actual
implementation
that
create
the
actual
proxy
here,
sometimes
or
many
times.
We
when
we're
implementing
some
functionality
in
our
applications.
A
We
don't
really
think
much,
at
least
when
very
beginning,
on
the
very
beginning,
about
the
day
two
responsibilities,
things
around
say:
notification:
how
to
auto
race
user,
how
to
identificate
user?
How
we
can
check
those
how
we
can
provide,
for
example,
caching,
capabilities,
some
of
the
requests,
maybe
static
websites,
some
of
the
javascript
javascript-based
websites.
Maybe
can
you
can
cache
the
responses
of
those
and
there's
other
some
logic,
for
example
a
rate
limiting
or
transformation
of
requests?
A
If
you
need
to
support
different,
I
don't
know
versions
of
api
and
support
some
of
the
legacy
systems
and
expose
new
version
to
outside
world
and
still
route
this
traffic
to
the
legacy
system
and
do
transformation
and
who
will
implement
this
and
there's
a
neat
part.
You
don't
so.
I
know
how
many
of
you
familiar
with
this
over
the
comic.
It's
actually
was
a
pretty.
I
think
it's
pretty
awesome,
graphical
graphic.
A
Graphic
tv
show
that's
available
on
amazon,
so
I
highly
recommend
to
check
this
out.
It's
called
invincible
so
and
essentially
what
if
this,
the
proxy
will
handle
all
this
stuff.
So
essentially,
we
have
an
ingress
as
a
vendor
neutral
way
to
configure
your
application
and
after
that,
provides
some
of
the
vendor
extensions
in
order
to
implement
things
that
we
interested
in
implementing
all
these
requirements,
and
things
like
that.
A
So
that's
what
exactly
cong
does
so
corn
is
the
open
source,
api
gateway
or
api
management
solution
and
the
proxy
server
there's
a
bunch
of
names
bunch
of
things,
but
essentially
kong
does
many
things
for
you,
so
you
don't
have
to,
and
there
is
a
integration
with
this
quang
gateway,
so
it
runs
fairly
well
in
kubernetes,
but
it
requires
additional
component
that
allows
to
configure
those
things.
It's
called
quank
ingress
controller.
A
It
is
a
custom
resource
that
allows
to
configure
some
of
the
plugins
that
are
available
in
code
out
of
the
box.
So,
though,
you
don't
need
to
do
this
and
those
are
open
source,
those
plugins,
you
can
implement
like
right
away,
and
you
know
just
just
do
the
thing
and
the
way
how
it
looks
like.
A
Essentially
it's
a
couple
things
here.
We
have
a
name
here
if
you
want
to
implement
key
based
authentication,
just
like
put
the
key
off
application
inside
a
application
header
and
after
that
configure
ingress
with
annotation.
So
we
will
add
one
small
annotation
called
kong
plugin.
As
you
remember,
let
me
quickly
show
you
back
when
we're
going
back
here.
The
name
of
this
plugin
is
api
auth
and
with
this
reference
we
just
specify
this
in
this
ingress,
so
meaning
that
the
quank
will
apply
this
plugin
in
this
particular
route.
A
One
of
the
things
this
particular
example
is
missing
and
I'll
show
you
with
my
demo
is
that
you
also
as
a
part
of
the
spec.
You
need
to
specify
the
the
ingress
controller
class
that
you
will
be
accessing
using
this
using
this
ingress
and
you
can
chain
different
plugins.
You
can
define
multiple
different
plugins
and
you
can
apply
this
to
one
ingress
and
the
neat
part
of
this
everything
happens
in
real
time.
So
there's
no
need
to
restart
anything
or
you
roll
off
your
services.
It
will
start
working
immediately.
A
So
that's
what
that's
what
we
will
be
you
know
dealing
with,
and
the
quality
itself
provides
like
majority,
like
variety
of
different
tools
and
plugins
that
you
can
use
today
today
we're
going
to
be
looking
on
jrpc
we're
going
to
be
looking
on
some
rest
capabilities,
but
there's
also
a
nice
plugin
that
allows
you,
for
example,
expose
your
grpc
service
that
you're
running
inside
to
outside
or
as
a
rest
service.
A
A
The
clonk
supports
different,
a
load
balancing
you
know
techniques.
You
can
configure
this
all
classic
rodent-robin
weight-based
load,
balancing
supported
sticky
session.
If
you
still
need
to
use
this
in
2021.
For
some
reasons,
advanced
routing
can
be
happening
based
on
classic
on
the
root
like
order
on
the
path
or
it
can
happen
based
on
http
method
like
we
can.
We
can,
if
it
needs
to
do
some
modifications,
we
need
to
go,
call
get
service.
A
So
quang
does
integration
with
things
like
jager
for
tracing
and
zipkin,
also
for
tracing
the
prometheus
for
connecting
some
of
the
metrics
and
so
forth,
so
on
specifically
to
kubernetes,
also
integrates
with
assert
manager
for
automatic
certificate
updates,
and
hopefully
I
will
be
able
to
show
you
this
today,
so
I
will
be
exposing
some
of
my
services
to
https,
or
rather
grpc
as
service
and
and
and
and
so
far
and
so
on.
A
And
for
this
welcome
to
to
my
demo,
so
there's
a
couple
things
that
we're
gonna
be
doing
right
now.
So,
first
of
all,
I
will
deploy
a
bunch
of
services.
As
a
matter
of
fact,
I
think,
let
me
do
a
quick
step
back
and
I
will
undeploy.
A
So
we're
going
to
see
you're
going
to
see
a
few
applications
here.
It
is
a
application
that
I
developed
called
quote
service,
so
the
quote
service.
Essentially,
it's
a
generator
of
random
quotes
from
very
popular
movies,
books,
etc.
A
It
uses
library
called
faker
that
allows
me
to
generate
different
type
of
responses
instead
of
having
some
of
the
your
traditional
hp
bean
or
I
don't
know
like
something
around
fubar,
let's
do
something
interesting.
It
is
deployed
in
you
know
the
containers
already
somewhere
here
in
in
docker
hub
and.
A
Deployment
will
expose
my
container
port.
It
also
will
include
service,
so
we
will
be
able
to
connect
to
the
service
and,
let's
take
a
look
on
ingress.
So
for
now
this
ingress
looks
like
this.
It
is
just
ingress
back
to
future
ingress
and
I
will
using
some
additional
annotations
because
my
spring
boot
application
might
not
can
be
configured.
The
application
itself
is
written
in
java.
It
uses
springboot,
but
it's
not
configured
to
ignore
some
of
the
additional
paths.
So
it's
essentially
it's
on
the
road.
A
So
in
this
case
I
want
to
tell
this
is
where
already
I'm
start
using
functionality
from
the
calling
ingress.
So
here
I'm
stripping
the
path,
so
I
don't
need
to.
I
don't
have
any
like
weird
errors,
and
here
I
also
specifying
that
ingress
class
here
belongs
to
quan
we're
going
to
talk
about
plugins
in
a
second
like
just
give
me
a
moment
to
deploy
and
explore
this
application.
A
So
if
I
go
ahead
here-
and
let
me
do
my
phones
a
little
bit
bigger-
I
just
noticed
that
this
is
probably
would
be
better
for
many
of
you-
and
I
will
apply
this
in
my
queries
and
back
to
future
so
based
on
this
ingress
based
on
this
ingress.
It
will
expose
this
back
to
future
through
the
squad
service
to
outside
world.
A
From
namespace,
let
me
show
you
service
and
where
the
clone
is
is
listening
stuff
and
how
I
can
access
this
system
now.
So
it
is
clone
proxy
itself
service.
This
service
is
a
type
of
load
balancer
and
the
access
to
this
to
the
system
provided
via
this
external
ip
address,
or,
I
can
say,
http.
A
I
created
a
dns
name
that
will
be
connected
to
this
to
this
ip
address.
So
if
I'll
do
quang.
A
So
no
no
root
matches
this
values,
which
is
already
good
thing
because
we
start
getting
response
from
coin
and
because
I
didn't
configure
anything,
I
didn't
configure
egress
ingress
to
to
connect
to
this.
I
need
to
hit
this
back
to
future,
so
in
this
case,
I'm
going
in
my
insomnia
I'm
going
to
be
using
insomnia
because
it's
just
like
a
much
nicer
like
visual
tool
to
to
connect
to
to
my
cluster.
Now
I'm
I'm
going
to
this
one.
My
proxy
address
is
called
gum
of
dev
and
when
I
click
send.
A
And
I
think
this
random
quote
is
perfectly
just
like
I.
I
couldn't
be
more
happy
with
this
random
quote,
so
what
we
can
see
here,
some
of
the
extra
headers
that
was
added
by
calling,
because
it's
the
first
time
it
called
this
application
latency
is
higher
because
it
is
kind
of
like
a
cold
call,
but
the
next
time
in
java
code
is
not
properly
optimized
by
just-in-time
compiler.
When
I
will
run
this
and
now
I
see
the
latency
is
much
slower,
my
yeah,
so
latency
is
lower,
not
slower
and.
A
And
now
we
see
in
some
quotes
from
back
to
future.
So
the
next
thing
is
that
let's
implement
something
so
something
that
I
can
show
you
repeat,
one
interval.
So
I
will
calling
this
service
every
two
seconds
and
we
will
see
results
here
immediately,
so
this
application
will
continue
to
run
while
we
implement
this
plugin.
So
first
plugin
that
I
want
to
implement
is
that
situation
where
I
can
provide
a
some
of
the
rate
limiting
functionality
to
my
applications
or
to
my
service,
where
my
consumers
not
paying
us
anything.
A
So
that's
why
our
sla
would
be
lower.
We
can
limit
them
by
only
five
requests
per
minute.
It's
sufficient
for
a
small
application
that
generates
random
quotes,
so
you
can
call
this
application
like
multiple
times
during
the
minute.
So
in
this
case
you
can
call
them
like
12
times
so
now
I'm
go
ahead
and
just
go
in
here
and
apply
this
different
name
space.
So
let
me.
A
And
I
should
be
able
to
see
those
plugins,
so
it's
it's
a
custom
resource.
This
custom
resource
has
a
custom
controller,
quang
ingress
controller.
That
will
create
the
instance
of
this
plugin
now
so
next
thing
that
I
am,
I
need
to
activate
this
plugin
and
the
way
how
I
can
do
this
by
okay,
edit
ingress
and
I
will
ingress
back
to
future
ingress.
I
need
to
edit
this
one
so.
A
A
A
So
that's
for
rate
limited
plug-in.
So
let's
go
next
and
try
to
enable
some
more
advanced
someone
more
advanced
thing.
So
next
thing
I'm
going
to
be
using
another
service,
but
this
in
this
case
is
going
to
be
chuck.
Norris
quote
service,
so
this
service
will
generate
some
of
the
random
facts
about
chuck
norris
as
known
as
a
very
epic
person.
So
we
can
go
ahead
and
just
do
a
kubernetes.
Coupe
control
apply
file,
kubernetes
and
we'll
just
chuck
notice.
A
The
application
is
running,
so
let
me
quickly
show
you
what
is
going
on
inside
this
application.
So
it's
a
spring.
Boot
application
runs
the
port
8080,
some
of
the
liveness
probes,
also
available
out
of
the
box
from
springboot,
which
is
which
is
much,
which
is
very
nice.
Nice
thing
to
have.
A
End
point
now:
we
can
see
it
works
from
kong,
and
now
we
start
getting
messages
about
chuck,
norris
chuck
norris
does
not
use
exception
when
programming,
he
has
not
been
able
to
identify
any
of
this
code
that
not
exceptional.
So
you
know
that's
what
that's
what
we
have
with
this
chuck
norris
humor.
A
So,
let's
assume
that
we
have
a
use
case
where
we
need
to
restrict
access
to
not
restrict
access.
We
need
to
provide
a
sla
for
some
of
the
paid
users.
So
that's
why
we're
going
to
be
implementing
some
of
the
pay
tier
plugins,
so
first
plugin
that
we're
going
to
be
using
here
is
the
same
plugin
that
we
used
before
you
just
saw
this,
but
in
this
case
we're
going
to
be
using
this
page
here
where
we
name
disability
instance
of
this
plugin
would
be
rate
limiting.
A
By
10
requests
per
minute
for
consumer,
so
in
the
in
the
in
this
here
we
limit
by
ip.
So
anyone
with
different
ib
will
be
we'll
have
like
a
five
request
per
minute.
But
here
is
something
named
consumer,
so
it
is
a
special
type
of
api
that
available
in
column
itself
has
nothing
to
do
with
kubernetes.
Nothing
to
do
with
our
in
the
grass
controller
consumer
allows
to
provide
some
of
the
kind
of
delegate
some
of
the
pieces
of
functionality
to
the
thing
that
will
be
running
inside
here.
A
A
And
another
plugin
that
we
will
be
using
here
is
a
using
user
authentication,
so
the
when
we
enable
this
we
won't
be
able
to
perform
free
operations
because
chuck
norris
quotes
are
exceptional.
His
data
is
exceptional,
so
we
cannot
just
simply
use
this
for
free,
so
we
need
to
have
someone
who
supply
us
with
certain
keys.
A
So
those
plugins
are
created.
So
let
me
show
you
quickly
so
right
now,
the
chuck
norris
is
just
the
same
thing
as
we
did.
This
repeat
on
interval,
just
do
repeat
every
30
seconds
and
it
will
just
like
running
this
quote
service
and
the
moment
I
will
edit
my
ingress
and
enable
this
two
plugins
in
this
particular
case,
user
auth
and
let's
start
with
user
auth,
first
use
something
like
a
step
by
step.
So
you
will
see
what
is
going
on
here.
A
So,
in
order
to
fix
this,
what
we're
going
to
do
is
we
provide
a
special
header.
So
in
this
case
we
provide
a
header
called
api
key
and
since
we
created
this
api
key
and
stored
this
inside
the
kubernetes
secret,
so
let's
try
to
call
this
boom.
Now
it
works
with
api
key.
Let
me
show
you
one
more
time.
I
disable
this.
I
get
no
api
key
found
and
request,
so
I'm
authorized.
A
A
Now
we
we
successfully
provided
authorization
but
like
what
we
actually
wanted.
We
actually
wanted
to
restrict
access
here,
not
not
the
restrict
access
per
se,
but
also
provide
the
level
of
sla
layer.
So
we
go
in
here
and
providing
rate
limiting.
So
I'm
go
ahead.
Here
repeat
on
interval,
say
two
seconds,
click
start
and
we
will
see
in
this.
A
A
And
what
I
will
see
immediately
immediately,
I
start
seeing
that
my
chuck
norris
service
was
able
to
catch
up
and
pick
up
all
this
kind
of
stuff,
now
rate
limiting
for
10
and
there's
the
time
when
this
will
be
reset
and
everything
looks
good.
So
we
already
submitted
10
requests
two
main
requests.
I
think
it
is
a
winning.
A
Now
there
is
a
situation
where
we
want
to
distinguish
some
of
our
users
who
have
a
premium
tier
and
some
users
who
have
a
platen
tier.
So
that's
why
we
also
created
another
configuration
for
this
plugin.
Another
modification-
another
variation
of
this,
so
we're
going
to
be
using
this
free
tier
for
this
one
we're
providing
a
100
request
per
minute,
so
something
that
you
will
not
exceed
we're
going
to
be
using
also
k
off.
But
in
this
case
it
would
be
different
key
and
in
other
key.
A
In
other
case,
it's
going
to
be
using
different
username
so
like
when
this
request
will
come
for
a
particular
api
key
based
on
this
logic.
We
can
bring
up
configuration
for
the
plugin
different
configuration
for
the
plugin.
So,
like
imagine,
you
might
have
some
of
the
some
of
the
logic
where
you
can
provide
the
different
api
keys
for
different
users.
Some
of
them
will
able
to
get
access
to
platinum
features
of
the
same
service.
Some
of
them
are
not
so
that's
what
we're
going
to
be
doing
right
now.
A
A
So,
as
you
can
see
here,
this
plate
and
tier
configuration
that
I
have
it
here.
Just
only
will
take
this
plugin
this
one.
This
plugin
and
the
rest
of
the
things
will
depend
on
this
consumer,
so
we'll
go
in
this
in
consumer
and
this
consumer
will
bound
to
this
plugin.
This
is
the
instance
of
this
plugin.
This
is
kind
of
like
an
actual
instance.
This
is
a
class
of
the
plugin
think
about
this.
A
A
A
When
I
click
send,
I
will
get
unauthorized
why?
Because
a
secret
is
was
not
created,
so
let
me
go
ahead
and
create
a
secret
here
that
will
have
a
concrete
type
k
off
and
it
will
have
key
roundhouse
kick
and
chuck
is
our
api
key,
so
I
can
go
ahead
here
enable
this
and
after
that
I
can
go
and
start
doing
this.
A
I
repeat
on
interval
every
second,
because
we
have
plenty
now
we
have
a
plenty
of
requests
that
we
can
do,
there's
plenty
of
stuff
that
can
be
done
here.
So
I
think
it's
a
that's
a
pretty
cool
feature
that
allows
you
to
configure
different
policies
to
your
application
without
changing
the
logic
of
the
application
without
implementing
this
part.
Because
much
often
you
want
to
change
these
policies
than
you
know.
A
So
let
me
go
ahead
to
create
some
of
these
secrets
for
my
service
I'll.
Just
do
kubernetes,
not
chuck
we're
going
to
june
and
jrbc
secrets
I'll
generate
some
of
this
self-certain
certificate
that
I
will
be
deploying
micro
brands
cluster,
because
I
want
to
show
you
some
of
the
bits
of
grpc
and
the
secure
grpc.
So
I
will
be
using
cell
size
certificate
to
expose
my
service
inside
the
kubernetes
cluster
using
jrpcs
protocol,
and
this
is
where
I
can
show
you
how
it
looks
like
so
my
deployment.
A
So
in
this
case
like
it's,
it's
called
service,
but
it
actually
gets
the
quotes
from
the
dune
from
the
book.
That's
I
was
super
exciting
for
upcoming
movie.
That's
why
I
created
this
service
that
will
bring
some
of
the
quotes
from
the
book.
A
I'm
running
this
jrpc
service
here
and
I'm
using
grpcs
server
security
certificate
which
has
created
this
and
the
send
this
as
a
our
secret.
In
our
compressed
cluster,
that's
nothing
nothing
else.
It's
the
same
application
that
just
exposes
a
different
port
for
it.
For
this
for
the
service
same,
nothing,
super
special
except
one
thing,
so
our
ingress
will
have
special
type
of
annotation
called
protocols,
meaning
that
all
requests
that
will
go
to
this
will
have
will
have
to
go
through
the
protocol,
grpc
or
jrpcs.
So
my
route
will
go
here.
A
A
A
Grpc
service
created
and
some
the
jrpc
service
things
are
there.
Now.
How
does
it
work
I
do
have?
Let
me
show
you
a
little
quick.
My
grpc
service
contains
in
a
few
things.
A
First
of
all,
it
includes
the
quote
service
that
has
two
two
flavors
one
flavor
is
get
quote,
is
just
a
regular
request
response.
Another
one
is
a
stream
when
I
call
this,
it
will
return
stream.
10
responses
to
me.
That's
one
of
the
cool
features
of
grpc,
and
this
quote
message
will
include
some
information
about
a
my
my
service.
So
in
order
to
hit
the
service
I
already
created,
this
quote.
A
I
already
added
this
protofile
to
my
insomnia,
so
I
can
call
this
and
when
I
go
ahead
and
do
this,
I
get
this
message
immediately
here.
So
that's
response
came
from
from
my
grpc
as
service.
A
A
If
I
will
do
something
to
show
you
that
actually
runs
correctly
I'll,
do
something
like
curl
minus
v
so
and
I'm
hitting
this
to
it-
has
a
successfully
tsl
handshake
and
also
it
shows
that
it
runs
http
2
protocol,
which
is
our
grpc
and
by
the
end
of
the
day
it
still
hits
the
quan
and
quank
says
hey.
A
I'm
expecting
to
see
a
grpc
call
here
and
how
it
is
that
how
it
how
it
knows
this-
and
let
me
take
a
look
on
this
ingress
so
in
this
ingress-
I'm
saying
that
my
protocols
that
I
will
be
expecting
here,
grpc
or
jrpcs,
so
this
ingress
kind
of
it's
like
a
mutually
exclusive.
I
cannot
run
http
here
only
jpc
or
jpcs,
but
it's
it's
okay,
it's
more
than
enough
for
me,
because
I'm
hitting
this
dune
quote
service.
A
Another
thing
that
I
also
want
to
touch
here
is
streaming
service,
so
it's
a
streaming
also
supported.
So
when
I
click
this
and
all
these
responses
were
streamed,
like
10
responses
from
my
service
were
streamed.
So
it's
not
like
a
one
response
with
10
mentions,
so
10
different
responses
were
streamed
based
on
this
one.
So
let
me
show
you
how
it
looks
like
from
perspective
of
this
application,
so
application
is
actually.
A
Where
is
it
how
I
can
disable
this
word,
wrapping
yeah,
of
course,
so
in
this
service.
A
There's
a
world
wrapping
yep
the
board
wrapping,
so
the
the
stream
service
was
invoked
and
the
get
quote
was
invoked.
So
it's
two
different
services,
two
methods
of
the
same
service,
two
different
methods
of
the
same
service
now
and
the
the
neat
part
of
this.
If
you
go
ahead
and
do
docs.
A
Rate
limiting
plugin,
you
will
see
what
kind
of
protocols
it
does
support.
So
this
is
open
source
version
of
this
rate
limiting
plugin
and
it
works
on
top
of
http
https
or
like
if
you're
looking
something
like.
A
There's
called
advanced
rate
limiting
plugins,
so
this
is
the
part
of
the
connect
subscription.
So
essentially,
if
you
have
connect
subscription,
you
will
get
the
access
to
this
plugin
and
this
plugin
supports
also
rate
limiting
for
grpc.
A
If
you
in
this
type
of
jazz,
if
we
told
you
about
key
request
transformer,
so
we
do
request
transformer
just
regular
and
it
does
support
only
http
https,
so
the
the
in
the
communication,
you
can
see
how
we
can
configure
these
plugins
in
in
kubernetes
how
we
can
configure
this
using
admin
api,
but
like
specifically,
we
interested
as
a
kubernetes
ingress
and
how
we
can
enable
these
plugins
as
a
part
of
kubernetes
and
rest
all
right.
So
let
me
briefly
bring
back
the
agenda
a
little
quick.
A
So
I
can
talk
a
little
bit
about
this.
What
you
saw
and
actually
was,
I
was
able
to
fulfill
all
the
promises.
So
we
talk
about
applications,
management,
ingress.
You
have
the
idea
what's
ingress
and
how
the
ingress
can
be
become
the
more
more
advanced
t-shirt
by
implementing
some
of
the
plugins.
I
show
you
how
we
can
expose
rest
services.
I
show
you
how
we
can
expose
grpc
service,
and
I
showed
you
how
you
can
implement
some
of
the
plugins
rate,
limiting
the
k,
key
authorization
and
things
like
that.
A
A
The
last
thing
that
I
want
to
mention
here
is
that
next
week,
if
you,
if
you
like
to
learn
a
little
bit
more
about
quank,
and
what
does
we
are
doing
online
conference,
that
will
be
totally
free
and
you
can
join
this
and
watch
different
talks
and
we'll
have
like
a
bunch
of
different
demos,
we'll
be
showing
some
of
the
features
of
kuma,
which
is
another
cncf
project
that
we
at
contributing
actively,
which
is
like
a
service
mesh.