►
From YouTube: [KCD KOREA 2021] 쿠버네티스 인터널스: 코드 레벨에서 보는 쿠버네티스 이야기 | 한우형
Description
쿠버네티스는 클라우드 환경에서 가장 성공한 컨테이너 관리 시스템입니다. 쿠버네티스는 다양한 오픈소스를 제치고 어떻게 성공할 수 있었을까요? 다양한 이유가 있지만 쿠버네티스가 클라우드에 적합한 디자인을 가지고 있기 때문입니다. 각 컴포넌트는 약결합을 가지며 낙관적 동시성과 캐싱을 통해 성능을 극대화 하였습니다. 이 발표에서는 쿠버네티스가 어떤 좋은 디자인을 가지고 있는지 공유합니다. 특히 쿠버네티스의 핵심 구성요소인 kube-apiserver와 client-go를 코드 레벨로 분석해봅니다. 이를 통해 쿠버네티스의 디자인 원칙을 이해하고 클라우드 환경에서 성공할 수 있었던 이유를 알아봅니다.
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
Version
called
the
internal
version
or
the
hub,
version.
It
is
managed.
Internally.
The
internal
version
is
the
version
that
all
versions
must
go
through
when
converting
between
each
other.
Therefore,.
The
change
between
the
part
circle
alpha
circle
and
the
v1
alpha
frame
never
occurs
directly,,
but
instead,
through
internal
version,
conversion.
You
can
convert
to
another
version.
In
this
case,,
when
each
version
is
added,,
each
version
needs
to
add
a
new
conversion
flavor
between
itself
and
the
internal
version.
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
Next,,
this
quest
goes
through
an
interface
called
storage..
The
storage
interface
plays
a
role
in
breaking
the
dependency
with
the
actual
DB
of
Cuba
Netis.
In,
the
storage
interface,.
There
are
basic
crud,,
machi,
and
version
language.
The
buzzer
also
corresponds
to
the
storage
interface,,
and
this
interface
updates
the
object.
A
A
A
A
A
A
Client
Go
is
the
Go
library
for
calling
Kubernetes
http
API
directly.
Calling,
the
http
api
is
very
cumbersome..
You
have
to
go
through
the
authentication
and
authorization
process,,
and
you
have
to
figure
out
the
request
and
response
directly
by
looking
at
the
documentation,.
And
then
you
have
to
process
things
like
marshaling,,
mother,
shirring,,
etc.
You.
A
A
A
A
A
A
A
A
A
A
A
Level
Drip
is
because
event
processing
is
used
at
the
same
time.
In
the
case
of
edges,.
The
handler
is
realized
only
when
there
is
a
change
in
the
resource.
On,
the
other
hand,
in
Level
Drip,.
The
handler
is
executed,
periodically.
If,
you
miss
a
change
in
,.
The
handler
may
not
be
executed,
forever.
So
in
Cuba
netis,.