What is Kubernetes?

Kubernetes was founded almost seven years ago my guess, depending on when you start the clock when it publicly released or when development started.

It was the three of us, Joe Beda, Craig McLuckie, and myself.

Honestly, we were influenced by some internal systems.

A system called Borg at Google that we'd been using at the time, as well as our own experience with people trying to adopt Cloud and the challenges of people adopting Cloud.

It was hard, it's too hard, right?

Docker came along honestly.

I think without Docker, we couldn't have done it.

All right, so Docker lit this fire, but we had all this experience about where they should go.

So we took the enthusiasm around containers that Docker managed to generate up.


쿠 버네 티스는 거의 7 년 전에 설립되었으며, 공개적으로 출시 된 시계를 시작하거나 개발이 시작된시기에 따라 다릅니다.

우리 셋, Joe Beda, Craig McLuckie 그리고 저였습니다.

솔직히 우리는 일부 내부 시스템의 영향을 받았습니다.

그 당시 사용하고 있던 Google의 Borg라는 시스템은 물론, 클라우드를 채택하려는 사람들과 클라우드를 채택하려는 사람들의 과제에 대한 우리 자신의 경험입니다.

힘들 었어요, 너무 힘들죠?

Docker는 정직하게 왔습니다.

Docker가 없었다면 우리는 할 수 없었을 것입니다.

Docker가 이 불을 켰지 만 우리는 그들이 어디로 가야하는지에 대한 모든 경험을 가지고 있습니다.

그래서 우리는 Docker가 생성 할 수있는 컨테이너에 대해 열광했습니다.

When should we use Kubernetes?

So Kubernetes is an orchestrator for helping you with application development.

When you think about what it takes to deploy an application up to the Cloud or even to an on-premise collection of machines.

You have to package up that application.

You have to distribute it, you have to keep it running, and you have load balance traffic between the various pieces of the application.

Then obviously in an API to introspective and find out what's going on.

Before Kubernetes there were a few systems bits and pieces, but Kubernetes just really mainstreamed the idea of this distributed systems application environment for building and constructing distributed systems that span across a bunch of machines.

I think Kubernetes really succeeded because of our focus on community and ecosystem.

So I think technologically obviously has to work.

But I think that building this really honestly amazing community of people who supported each other, who helped build docs, who helped build tutorials, who went and talked about it in conferences.

Then an ecosystem of companies that were betting their whole company on it.

Startups that are saying like, well, the prerequisite for using my monitoring software is that you have a Kubernetes cluster, that formed a really virtuous cycle.

I think the other thing is that it's a layer in the stack that is at some level supposed to disappear.

So once it became popular enough, everyone's was like, okay, that decision has been made, let's move on.

All right, and so there's a certain amount of value for the broader ecosystem and having a single solution.


Kubernetes는 애플리케이션 개발을 지원하는 오케 스트레이터입니다.

클라우드 또는 온 프레미스 머신 컬렉션에 애플리케이션을 배포하는 데 필요한 사항을 생각할 때.

해당 애플리케이션을 패키징해야합니다.

배포하고 계속 실행해야하며 다양한 애플리케이션간에 트래픽 부하를 분산해야합니다.

그런 다음 분명히 API에서 내성적이며 무슨 일이 일어나고 있는지 알아냅니다.

쿠 버네 티스 이전에는 몇 가지 시스템 부분이 있었지만 쿠 버네 티스는 여러 머신에 걸쳐있는 분산 시스템을 구축하고 구성하기위한이 분산 시스템 애플리케이션 환경의 아이디어를 실제로 주류로 삼았습니다.

저는 Kubernetes가 커뮤니티와 생태계에 집중했기 때문에 정말 성공했다고 생각합니다.

그래서 저는 기술적으로 분명히 작동해야한다고 생각합니다.

하지만 서로를 지원하고, 문서 작성을 도왔고, 튜토리얼 작성을 도왔고, 컨퍼런스에서 그것에 대해 이야기 한 사람들로 구성된 정말 정직하게 놀라운 커뮤니티를 구축했다고 생각합니다.

그런 다음 회사 전체를 베팅하는 회사의 생태계입니다.

내 모니터링 소프트웨어를 사용하기위한 전제 조건은 정말 선순환을 형성하는 Kubernetes 클러스터가 있다는 것입니다.

다른 한 가지는 사라질 것으로 예상되는 스택의 레이어라는 것입니다.

일단 그것이 충분히 인기를 얻었을 때, 모든 사람들은 마치 결정이 내려진 것 같았습니다.

좋습니다. 따라서 더 넓은 생태계와 단일 솔루션을위한 일정량의 가치가 있습니다.

What are containers?

Container is one of those words were I think it means different things to different people, or has a really broad set of meanings.

I think fundamentally, it's about taking an application and packaging it.

So building of binary representation of all the different pieces that you need for your application, the software, the configuration files, whatever, just having a protocol for distributing that application around the world.

Then once it starts running on a machine, having a isolated playground for that application to run so that it can't interfere with other applications on the same machine.

So I think those are the three pillars of what became known as containers.

How do I take everything and package it?

So it's exactly the same on my laptop as it is out in the Cloud.

How do I distribute it around the world really easily?

Then once it's running, how can I have an environment where if I have a bug in one component, it doesn't affect another component?

Those pieces are what makes up what it means to be a container.

Although different people have different answers.


컨테이너는 다른 사람들에게 다른 의미를 가지고 있거나 정말 광범위한 의미를 가지고 있다고 생각하는 단어 중 하나입니다.

근본적으로 애플리케이션을 가져 와서 패키징하는 것이라고 생각합니다.

따라서 응용 프로그램, 소프트웨어, 구성 파일 등에 필요한 모든 다른 부분의 이진 표현을 구축하고 해당 응용 프로그램을 전 세계에 배포하기위한 프로토콜 만 있으면됩니다.

그런 다음 컴퓨터에서 실행되기 시작하면 해당 응용 프로그램을 실행할 수있는 격리 된 플레이 그라운드가있어 동일한 컴퓨터의 다른 응용 프로그램을 방해 할 수 없습니다.

그래서 저는 그것이 컨테이너로 알려지게 된 세 가지 기둥이라고 생각합니다.

모든 것을 가져 가서 포장하려면 어떻게해야합니까?

따라서 내 노트북에서 클라우드에있는 것과 똑같습니다.

정말 쉽게 전 세계에 배포하는 방법은 무엇입니까?

그런 다음 실행되면 한 구성 요소에 버그가 있어도 다른 구성 요소에 영향을주지 않는 환경을 어떻게 가질 수 있습니까?

그 조각들이 컨테이너라는 의미를 구성합니다.

사람마다 대답이 다르지만.

Tell us about open source. What are the challenges associated with it?

Well, I'm an open source fundamentally means that the source code for your project is available under an open source license.

So there's a consortium that defines what it means to be open source, has to do with different open source licenses exist that have different kinds of restrictions on what you can do with it.

If you make changes, if you have to publish those changes.

But fundamentally, from my perspective of what it really means is coming together as a community to build software in the open.

So it's not Microsoft building software, or Apple building software, or VMware building software, it's all of us coming together in a global project.

It's Kubernetes building software as a project out on GitHub that makes up the open source.

For me, that was really important.

It's not just about the license, it's not just about the source being out there, but it's about the community that comes together to build the software.


글쎄요, 저는 오픈 소스라는 것은 근본적으로 여러분의 프로젝트에 대한 소스 코드가 오픈 소스 라이선스로 제공된다는 것을 의미합니다.

그래서 오픈 소스라는 것이 무엇을 의미하는지 정의하는 컨소시엄이 있습니다. 다른 오픈 소스 라이선스와 관련이 있으며, 여러분이 할 수있는 일에 대해 다른 종류의 제한이 있습니다.

변경 사항을 게시해야하는 경우.

그러나 근본적으로 그것이 실제로 의미하는 바에 따르면 공개적으로 소프트웨어를 구축하기 위해 커뮤니티로 모이는 것입니다.

따라서 그것은 마이크로 소프트 빌딩 소프트웨어 나 애플 빌딩 소프트웨어, VMware 빌딩 소프트웨어가 아닙니다. 우리 모두가 글로벌 프로젝트에 참여하는 것입니다.

오픈 소스를 구성하는 것은 GitHub에서 프로젝트로 소프트웨어를 구축하는 Kubernetes입니다.

저에게는 정말 중요했습니다.

그것은 단지 라이센스에 관한 것이 아니라 소스가 거기에 있다는 것이 아니라 소프트웨어를 구축하기 위해 함께 모인 커뮤니티에 관한 것입니다.

What do you consider to be a "cloud native app"? How do you define it?

But I think when we're talking about Cloud Native, one of the things that we're thinking about is API-driven development.

So you're creating stuff with an API.

You're not logging into a machine running commands, you're declaring a state usually these days in some text file like a YAML file.

Then you're applying that state to the world and you're letting some other system take responsibility for making reality match up with your declared state.

So this has been called Infrastructure as code or a bunch of other kind of buds words associated with it.

I think the other part of Cloud Native is this idea of elastic scale, right? That I can immediately get more resources if I need them, I can immediately throw away resources.

I think of Cloud is being a better version of an online computer retailer where like used to be, you can get a computer in a day and you had to go through some return policy.

Well, with Cloud you can get it in a few seconds and you can give it back and immediately.

So run it for two minutes, put it away, don't pay for it ever again.

I think that's a fundamental characteristic of what it means to be Cloud Native because they're now development patterns that assume that I can create a complete copy of my infrastructure and then throw away my old copy without any real effect on me in terms of price or anything else.

That's what it means for me to be Cloud Native.


하지만 클라우드 네이티브에 대해 이야기 할 때 우리가 생각하는 것 중 하나는 API 기반 개발이라고 생각합니다.

그래서 당신은 API로 무언가를 만들고 있습니다.

명령을 실행하는 머신에 로그인하지 않고 일반적으로 YAML 파일과 같은 일부 텍스트 파일에서 상태를 선언합니다.

그런 다음 그 상태를 세계에 적용하고 다른 시스템이 현실을 선언 된 상태와 일치시키는 책임을지게합니다.

그래서 이것은 코드로서의 인프라 또는 그것과 관련된 다른 종류의 단어들이라고 불 렸습니다.

클라우드 네이티브의 다른 부분은 탄력적 확장이라는 아이디어라고 생각합니다. 필요한 경우 즉시 더 많은 자원을 얻을 수 있으므로 즉시 자원을 버릴 수 있습니다.

저는 클라우드가 예전처럼 하루 만에 컴퓨터를 구할 수 있고 일부 반품 정책을 거쳐야하는 온라인 컴퓨터 소매 업체의 더 나은 버전이라고 생각합니다.

글쎄, 클라우드를 사용하면 몇 초 안에 얻을 수 있으며 즉시 돌려받을 수 있습니다.

그러니 2 분 동안 실행하고 치우고 다시는 비용을 지불하지 마십시오.

이것이 클라우드 네이티브라는 의미의 근본적인 특징이라고 생각합니다. 이제는 인프라의 완전한 사본을 생성 한 다음 가격 측면에서 실제 영향없이 이전 사본을 버릴 수 있다고 가정하는 개발 패턴이기 때문입니다. 또는 다른 것.

이것이 제가 클라우드 네이티브라는 의미입니다.

What is the future of Kubernetes?

Well, people keep saying the future of Kubernetes is boring.

Like it's supposed to be disappearing.

It keeps sort of not disappearing.

But I keep thinking it's going to disappear.

That's because it's present in every major public Cloud at this point.

It's become something that people just expect to be there.

So people are really focused on what do you build above it.

I think one of the decisions early on that we made those really foresightful was to make it very extensible.

So that people could add on new components.

So people could make it their own.

I think that's the future is the stuff that gets built on top.

As more developer tooling and as more experiences get built on top, I think, I hope that the underlying Kubernetes bits is kind of fade, like X86 fades.

Where nobody really talks about like what's the processor architecture instruction set that you're running? It's there, obviously it's important, but it's not part of what you think about on the day to day.

I hope that's the future for Kubernetes as well because there's so much more that we need to build.


사람들은 Kubernetes의 미래가 지루하다고 계속 말합니다.

사라져야 할 것처럼.

그것은 일종의 사라지지 않습니다.

그러나 나는 그것이 사라질 것이라고 계속 생각합니다.

현재 모든 주요 공용 클라우드에 존재하기 때문입니다.

사람들이 그저 거기에 있기를 기대하는 것이됩니다.

그래서 사람들은 당신이 그 위에 무엇을 만드는지에 정말로 집중합니다.

저는 초기에 우리가 이러한 것들을 정말로 예 견적으로 만든 결정 중 하나가 그것을 매우 확장 가능하게 만드는 것이라고 생각합니다.

사람들이 새로운 구성 요소를 추가 할 수 있습니다.

그래서 사람들은 그것을 자신의 것으로 만들 수 있습니다.

나는 그것이 미래라고 생각합니다.

더 많은 개발자 도구와 더 많은 경험이 위에 구축됨에 따라 기본 Kubernetes 비트가 X86 페이드와 같은 일종의 페이드가되기를 바랍니다.

당신이 실행하고있는 프로세서 아키텍처 명령어 세트에 대해 아무도 정말로 이야기하지 않는 곳? 그것은 분명히 중요하지만 그것은 당신이 매일 생각하는 것의 일부가 아닙니다.

우리가 구축해야 할 것이 훨씬 더 많기 때문에 Kubernetes의 미래이기도합니다.

  • No labels
Write a comment…