Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


So we now know roughly what Istio is, it's a service mesh.

And this is a layer that we can apply to a Kubernetes cluster.

And we can use it to monitor and manage the traffic that is moving between pods.

And I hope to demonstrate on this course, the many benefits that Istio can bring to you.

In this session, of course, we're going to get straight into Istio, we're going to install it to a local desktop Kubernetes cluster.

And I'm going to give you a sample system.

And on that sample system, we're going to be given a problem, the system isn't running very well.

And we have very limited information about why it isn't running very well.

Well, I'm going to show you that we could use Istio to diagnose that problem, work out what's going on.

And we can also use this to to implement a solution to that problem.

So this section of the course is going to be a very hands on demo.

And we'll use this to without necessarily going too deep just yet, after the demo will then be going through the rest of the course looking in detail at Istio's architecture.

And of course, all of the big features of Istio.

So I've recorded this course on a standard minkube installation that's running on my local desktop PC.

But one really important point about Istio is you can run it any way you like Istio is actually just a collection of pods and services, normal Kubernetes concepts.

So as long as you have a Kubernetes cluster, you can run Istio now, I recommend that if you're following along at home, that you also use minkube just to be consistent with me, it will make giving you support a lot easier.

But I really do want to stress if you want to run this on AWS or Google Cloud, or SEO or really anywhere that you can run Kubernetes, then that's absolutely fine.

The only thing to say about that though, is you do need enough resources on your Kubernetes cluster to run Istio.

So as on the cost description, then you will need a minkube with at least four gigabytes of RAM allocated to minkube.

So that means in practical terms, the computer that you're running on whether it's a desktop or a laptop, will probably need.

I'm guessing about eight gigabytes of host Ram.

So I hope that's not a problem for you.

So if you are using minkube, then to setup we'll start by, I recommend would start from a clean sheet of paper.

So do a minkube delete, first of all, so that you don't have anything lying around from previous runs.

And we're going to start mini cube with a memory of 4096 Mini cube starting I'll introduce you to the code that you're going to need for this course.

And you'll find this as part of the downloads for this course, just open up the zip folder and you should find a collection of folders in there.

Or if you prefer, there is a GitHub repository for this course, at the URL you can see here.

Now this is a micro service system.

If you have studied one of my previous courses, then you might be familiar with this system.

It is a fleet management system for tracking vehicles, delivery vehicles as they travel around the country.

Please don't worry if you've never seen this system before you need no previous knowledge of this system whatsoever.

You don't need to know how it's designed or anything like that there will be a few occasions on the course where a drill into a few lines of code.

But apart from that there's no requirement for you to understand this code.

On this course, we're purely thinking about managing the cluster, rather than implementing the code that's going on to the cluster.

Also, let me be really clear about this in a lot of these projects, I've put bad code in and the bad code is there so that we can find problems.

And we can use this to to fix those problems.


I don't want anybody to think that this is some kind of an example of a good microservice architecture, because it really isn't.

There's lots of deliberate problems inside here.

So most of this you don't need unless you really do want to take the code apart.

But all of the files that we're using on the course you will find in this folder here, I've put an underscore on top just so it's at the top of the list course files.

And we're currently working on the warm up exercise and there are the four files that we're going to need.

Anyway, we'll look in more detail at that once we have the system up and running so many cubes up and running for me now.

And if you go into the course Files folder, you will find a sub folder in there called warmup exercise.

And I've provided in the collection of four files.

They're just yaml files their standard Kubernetes yaml files.

Now the first two of these yaml files is essentially Do and by applying these to yaml files, you will have Istio running on your Kubernetes cluster.

Now the recommended way of installing Istio is to use a custom tool that Istio provides called istioctl.

Now really all istioctl does is it generates these yaml files, and it can optionally automatically apply those files as well.

But so that we can get up and running without having to install Istio CTL.

And understanding how that works.


I've already generated the EML files for you so that you can just apply them right now.

And we can get straight up and running with Istio.

But I want to stress that the files that I given you here are full of Istio installations, there's nothing cut down about this.

There's nothing simplified about this, it is a true full Istio.

And I'm saying this because on the first edition of the course a few people thought that I was somehow cheating or I'd given you a non official version of Istio or something that's not the case.

Now, if you're curious about where this file came from, and how I generated it, there is a section on the course later on.

We don't need to do it right now.

But towards the end of this course, I will show you istioctl.

And you would use istioctl.

If you want to tailor Istio somehow, if you want to switch some features on and some features off, then you could use this to CTL to create your own version of this yaml file.

But for now, this is a full blown Istio installation.

And we can now go ahead and start installing.

So the first job to do is to do kubectl apply dash F on the first of the files, which is called one Istio in its dot yaml.

Now what this file is going to do is it's going to create a series of custom resource definitions, or CR DS.

I don't know if you're familiar with these.

In fact, I didn't even cover CR DS on my Kubernetes course.

But what a CRD is, is it it is an extension to the standard Kubernetes API.

In the Kubernetes API.

Of course, we have pods and services, and deployments and replica sets and those kinds of things.

But you can with a custom resource definition, invent your own Kubernetes objects.

Now that's not something that I do, typically day to day, but some frameworks like Istio exploit this to extend Kubernetes.

And to give you a richer language.


So on this course, you're going to be meeting very shortly the concept of a virtual service and the destination rule.

And both of those things are defined in these custom resource definitions.

So we don't need to worry too much about that just yet, except to say we just have to apply that file.

Now just in case you have studied the first edition of this course, when we were working on earlier versions of Istio back then when after you applied this first file, I would have told you that you would then have to immediately do a kubectl get po on the namespace using the dash n command on the namespace called Istio dash system, you're going to see that everything for Istio is installed into this namespace Istio dash system.

And he would have seen a collection, I think it was about three pods that would run at this stage.

And you would need to wait for those pods to complete.

And what those pods were doing was creating these custom resource definitions.

Well, from Istio 1.5 onwards, that's no longer necessary.

This doesn't create any pods, it just creates those CR DS immediately.

And once you've applied that file, you can move on to the next step.

So that's only relevant if you've worked with previous versions of Istio.

Now, I'm not going to rerecord the whole of this course.

So you might see me on future videos on this course after applying that file.

Looking at the Istio system namespace to check there, the pods have completed, you don't need to do that anymore.

As soon as you've applied that file, you can then go straight on and apply the second file in the sequence which is called to Istio minkube dot yaml.

And as I hit enter here, you'll see that creates quite a lot of objects.

And actually, what this is, is Istio that file pretty much in its entirety is the Istio installation.

And if we go back to the earlier command of getting the pods in the Istio system namespace, you'll see that we have a set of pods, which for me are currently in the container creating state these pods together form Istio again, for anybody who's worked with older versions of Istio you might be Surprised to see there aren't many pods there, I think there are seven, yes, seven pods, whereas on previous versions of Istio, there were loads of pods here.

Now what's happened is from Istio 1.5 onwards, they've taken a lot of the components of Istio.

And they've combined them all together into a single component.

And it's this one here, the one called Istio D.

And that stands for the Istio demon.

There's small number of other pods that you can think of as sort of supporting pods for Istio, let's run down them very quickly.

There is a pod for Grafana, which is going to give us a series of graphs.

And we'll be exploring refiner in the telemetry section of this course.

We then have an egress gateway and an Ingress gateway pod.

And they allow us to control traffic coming into and out of our cluster.

We'll be looking in more detail later on about what that's all about.

We have a pod for tracing, and we will be using this pod in this warm up demo.

So more on that shortly.

I've mentioned this pod, which you can think of as just being a CTO, there is a Prometheus pod as well.

And that goes hand in hand with the Griffon a pod that's going to provide us with some monitoring features.

And finally, there's a wonderful pod called kiali.

Now we're going to be using kiali extensively in this warm up exercise.

And in one sentence, it's a graphical interface that allows us to visualise the cluster, and we can see in great detail what's going on in the cluster.

So we're going to be using that very soon.

So you need to wait until now I've been talking for about four minutes there.

And in that four minutes.

You can see now that all of my pods have gone into the state of running, most of the pods just have a single container inside them.

So you want to see just one of one running.

Now again, that is a big difference from earlier versions of Istio you had to make sure that every single part have the right number of containers running, not a problem anymore.

Notice though the Prometheus pod does have two containers inside it see one that's beat two of two.

And that might take a while for you I am borrowing this computer for recording on and it is significantly faster than my usual computers.

I think it is a full gaming rig this one.

So don't be surprised if that takes a bit longer for you.

To start up just in case you're interested here.


I've switched to a screenshot from the first version of the of this course, which I think are recorded on STL 1.3.

And I just want to show you here, how different it looked back in those days.

There were a lot of pods here with strange names like Citadel, and one called pilots.

And there were the sidecar injectors.

And it was a much more complicated namespace back in those days.

And it's definitely the case from 1.5 onwards that they, they have cleaned things down considerably.

Now, you might be wondering why I've given you the first two files split up into two separate files, I could have perfectly well combined those two files together into a single file, actually.

But I've decided to keep them separate purely because they were separate files on the early versions of this course that were fought earlier versions of istio.

Back in the older versions, you did have to run this file on its own because you had to wait for it to complete before you could safely go on to install a second one.

So really, the two files are just there to be consistent with earlier versions of this course.

Now the third file here is a file that sets up a username and password for kiali.

But actually, from this point onwards, everything is exactly the same as it always was on the earlier versions of str 1.5.

So that reason, I'm now going to stop recording here.

And I'm going to switch back to the earlier version of the course the difference you'll see is that for the rest of the course I will be using cygwin so my terminal is going to look like this.

I had to use PowerShell there for this recording because at the time of recording here in the UK, we are in lockdown due to the renders Coronavirus, and I simply wasn't able to access the same computer that I used to record the original course on.

I am on a gaming PC here and it's not my computer and I'm not allowed to change it.

So I wasn't able to put cygwin on don't let that confuse you.

Of course this is just a terminal.

Any terminal will do for Kubernetes.

So let's have a look then at how to install this kiali secret file.

Now this is going to form a key part of the demo kiali is a wonderful tool for visualising your cluster.

I'll show you in a short while, but in order to use kiali you do need to set up a username and password.

And it's in the form of a secret which I assume you're familiar with from Kubernetes if not this is nothing more complicated really than a config file which contains a username and a password, they actually call it a passphrase and kiali.

That just so happens to have been run through base 64 encoding.

So it's not encrypted in any way, it is just an encoding.

And I go on a lot about secrets in my Kubernetes course.

But really a secrets not a secret, it's not encrypted, it's just a fact, you could run this string here.

And notice I've used the same string for username and passphrase, you could run that through any base 64 decoder, there's loads of them online, I happen to have one installed into my shell.

So I could echo that string and run it through base 64 dash D, I think that will decode it.

It's just the string admin, that's base 64 encoded.

So don't worry, if you don't have to pay 60 for yourself, you can either do it online or take it from me.

This is going to set up a username and password of admin admin in kiali, we just need to apply this so kubectl, apply dash f Step three, Keo secret dot yaml.


And the final step, the fourth yaml file is our application that we're going to be working on.

Now some of you will have been on my previous Kubernetes training course where we used a fleet management system to demonstrate the features of Kubernetes.

If you have been on that course, then you will recognise this application because I've decided for consistency, to use the same application, although I have pushed it around a lot.

And I've changed things so that I can demonstrate the features of Istio.

Please don't worry, if you've not done my Kubernetes course, that's absolutely no problem at all, you do not need to understand this application in order to work on this course.

And in fact, this is the scenario I'm going to give you just imagine, you have just joined this project on day one, the project's already up and running, but you haven't written any of the code for it, your job is going to be to manage the Kubernetes cluster.

So you're at quite a disadvantage, really, in that you're not really familiar, but you're not at all familiar with the with the internal workings of the system.

But we have been told that there is a fault in the system.

And the fault seems to have been introduced by some recent code change.

But the problem is the developer who did that code change has gone on holiday, we could go through the Git repository and and go through all of the commits.

But this is a busy project.

There are a lot of commits, and it's very difficult to see exactly where the break occurred.

So that's the background.

And in order to install this application, you might think it's just the case of applying the yaml file.

But there's actually one further step that we need to make first and this is an absolutely critical step.

So I think I'm going to stop here, and I'm going to do the next step in a video on it.

So I'm doing that so we really don't forget to do the next step, so rejoin me in the next video.

이제 우리는 Istio가 무엇인지 대략 알았습니다. 그것은 서비스 메시입니다.

그리고 이것은 Kubernetes 클러스터에 적용 할 수있는 계층입니다.

또한이를 사용하여 포드간에 이동하는 트래픽을 모니터링하고 관리 할 수 ​​있습니다.

이 과정에서 Istio가 제공 할 수있는 많은 이점을 보여 드리고자합니다.

물론이 세션에서는 Istio로 바로 들어가서 로컬 데스크톱 Kubernetes 클러스터에 설치할 것입니다.

그리고 저는 여러분에게 샘플 시스템을 제공 할 것입니다.

그리고 그 샘플 시스템에서 우리는 문제를 받게 될 것입니다. 시스템이 잘 돌아 가지 않습니다.

그리고 우리는 왜 그것이 잘 실행되지 않는지에 대한 매우 제한된 정보를 가지고 있습니다.

글쎄, 나는 우리가 Istio를 사용하여 그 문제를 진단하고 무슨 일이 일어나고 있는지 알아낼 수 있음을 보여줄 것입니다.

또한이를 사용하여 해당 문제에 대한 해결책을 구현할 수 있습니다.

따라서이 과정의이 섹션은 데모에 대한 실습이 될 것입니다.

그리고 우리는 이것을 사용하여 아직 너무 깊이 들어 가지 않고 데모를 마친 후 Istio의 아키텍처를 자세히 살펴 보는 나머지 과정을 진행할 것입니다.

물론 Istio의 모든 주요 기능이 있습니다.

그래서이 과정을 내 로컬 데스크톱 PC에서 실행되는 표준 minkube 설치에 기록했습니다.

하지만 Istio에 대해 정말 중요한 점 중 하나는 Istio가 원하는 방식으로 실행할 수 있다는 것입니다. Istio는 실제로는 포드 및 서비스 모음 인 일반적인 Kubernetes 개념입니다.

Kubernetes 클러스터가있는 한 지금 Istio를 실행할 수 있습니다. 집에서 따라가는 경우 minkube도 사용하여 나와 일관성을 유지하면 훨씬 더 쉽게 지원할 수 있습니다.

하지만 AWS 나 Google Cloud, SEO 또는 Kubernetes를 실행할 수있는 모든 곳에서이 작업을 실행하려는 경우 정말 강조하고 싶습니다.

하지만 Istio를 실행하려면 Kubernetes 클러스터에 리소스가 충분해야합니다.

따라서 비용 설명과 같이 minkube에 최소 4GB의 RAM이 할당 된 minkube가 필요합니다.

즉, 실제적인 측면에서 데스크톱이든 노트북이든 실행중인 컴퓨터가 필요할 것입니다.

약 8 기가 바이트의 호스트 램을 추측하고 있습니다.

그래서 나는 그것이 당신에게 문제가되지 않기를 바랍니다.

따라서 minkube를 사용하는 경우 설정을 시작하려면 깨끗한 종이로 시작하는 것이 좋습니다.

따라서 먼저 minkube 삭제를 수행하여 이전 실행에서 주변에 아무것도 없도록하십시오.

그리고 우리는 4096 미니 큐브의 메모리로 미니 큐브를 시작할 것입니다.이 과정에 필요한 코드를 소개하겠습니다.

이 과정을 다운로드 할 때이 파일을 찾을 수 있습니다. zip 폴더를 열면 폴더 모음이 있습니다.

또는 원하는 경우 여기에서 볼 수있는 URL에이 과정에 대한 GitHub 저장소가 있습니다.

이제 이것은 마이크로 서비스 시스템입니다.

이전 과정 중 하나를 공부했다면이 시스템에 익숙 할 것입니다.

전국을 여행하는 차량, 배달 차량을 추적하는 차량 관리 시스템입니다.

이 시스템에 대한 사전 지식이 필요하기 전에이 시스템을 본 적이 없더라도 걱정하지 마십시오.

당신은 그것이 어떻게 설계되었는지 또는 그와 유사한 것을 알 필요가 없습니다. 과정에서 몇 줄의 코드를 드릴 수있는 기회가있을 것입니다.

하지만 그 외에는이 코드를 이해할 필요가 없습니다.

이 과정에서 우리는 클러스터로 진행되는 코드를 구현하는 것이 아니라 클러스터 관리에 대해 순전히 생각하고 있습니다.

또한,이 많은 프로젝트에서 이것에 대해 명확히하겠습니다. 저는 잘못된 코드를 넣었고 잘못된 코드가 거기에있어 문제를 찾을 수 있습니다.

그리고이 문제를 해결하는 데 사용할 수 있습니다.


누구도 이것이 좋은 마이크로 서비스 아키텍처의 한 예라고 생각하는 것을 원하지 않습니다. 왜냐하면 실제로는 그렇지 않기 때문입니다.

여기에는 많은 고의적 인 문제가 있습니다.

따라서 실제로 코드를 분리하고 싶지 않으면 대부분 필요하지 않습니다.

하지만 코스에서 사용하는 모든 파일은 여기이 폴더에서 찾을 수 있습니다. 코스 파일 목록의 맨 위에 있도록 밑줄을 맨 위에 표시했습니다.

그리고 우리는 현재 워밍업 연습을하고 있으며 우리가 필요로하는 4 개의 파일이 있습니다.

어쨌든, 우리는 시스템을 가동하고 지금 나를 위해 너무 많은 큐브를 실행하고 실행하면 그것에 대해 더 자세히 살펴볼 것입니다.

코스 파일 폴더로 이동하면 준비 운동이라는 하위 폴더가 있습니다.

그리고 4 개의 파일 모음을 제공했습니다.

표준 Kubernetes yaml 파일에 불과한 yaml 파일입니다.

이제 이러한 yaml 파일 중 처음 두 개는 기본적으로 Do이며이를 yaml 파일에 적용하면 Istio가 Kubernetes 클러스터에서 실행됩니다.

이제 Istio를 설치하는 권장 방법은 Istio가 제공하는 istioctl이라는 사용자 지정 도구를 사용하는 것입니다.

이제 istioctl이 수행하는 모든 작업은 이러한 yaml 파일을 생성하는 것이며 선택적으로 해당 파일도 자동으로 적용 할 수 있습니다.

하지만 Istio CTL을 설치하지 않고도 시작하고 실행할 수 있습니다.

그리고 그것이 어떻게 작동하는지 이해합니다.


지금 바로 적용 할 수 있도록 이미 EML 파일을 생성했습니다.

그리고 우리는 Istio로 바로 시작할 수 있습니다.

하지만 여기서 제가 제공 한 파일은 Istio 설치로 가득 차 있다는 점을 강조하고 싶습니다.

이것에 대해 단순화 된 것은 없으며 진정한 완전한 Istio입니다.

이 과정의 초판에서 몇몇 사람들이 제가 어떻게 든 속임수를 쓴다고 생각했거나 Istio의 비공식 버전이나 그렇지 않은 것을 주었기 때문입니다.

이제이 파일의 출처와 생성 방법에 대해 궁금한 경우 나중에 과정에 대한 섹션이 있습니다.

지금 당장 할 필요가 없습니다.

하지만이 과정이 끝날 무렵에 istioctl을 보여 드리겠습니다.

그리고 istioctl을 사용합니다.

어떤 식 으로든 Istio를 조정하려는 경우 일부 기능을 켜고 일부 기능을 끄려면이를 CTL에 사용하여이 yaml 파일의 고유 한 버전을 만들 수 있습니다.

그러나 현재로서는 이것은 완전한 Istio 설치입니다.

이제 계속해서 설치를 시작할 수 있습니다.

따라서 첫 번째 작업은 kubectl이 첫 번째 파일에 대시 F를 적용하는 것입니다.이 파일은 점 yaml에서 Istio라고합니다.

이제이 파일이 수행 할 작업은 일련의 사용자 지정 리소스 정의 또는 CR DS를 만드는 것입니다.

당신이 이것들에 익숙한 지 모르겠습니다.

사실 저는 Kubernetes 과정에서 CR DS를 다루지도 않았습니다.

그러나 CRD는 표준 Kubernetes API에 대한 확장입니다.

Kubernetes API에서.

물론, 우리는 포드와 서비스, 배포와 복제 세트 등을 가지고 있습니다.

그러나 사용자 지정 리소스 정의를 사용하여 고유 한 Kubernetes 개체를 만들 수 있습니다.

이제는 일반적으로 매일하는 일이 아니지만 Istio와 같은 일부 프레임 워크는이를 활용하여 Kubernetes를 확장합니다.

그리고 더 풍부한 언어를 제공합니다.


따라서이 과정에서는 가상 서비스의 개념과 대상 규칙을 곧 만나게 될 것입니다.

그리고 두 가지 모두 이러한 사용자 지정 리소스 정의에 정의되어 있습니다.

그래서 우리는 그 파일을 적용해야한다는 것을 제외하고는 그것에 대해 너무 많이 걱정할 필요가 없습니다.

이제이 과정의 첫 번째 버전을 공부 한 경우를 대비하여 이전 버전의 Istio에서 작업 할 때이 첫 번째 파일을 적용한 후 즉시 kubectl get po를 수행해야한다고 말했을 것입니다. Istio 대시 시스템이라는 네임 스페이스에서 dash n 명령을 사용하여 네임 스페이스에서 Istio의 모든 것이이 네임 스페이스 Istio 대시 시스템에 설치되어 있음을 확인할 수 있습니다.

그리고 그는 컬렉션을 보았을 것입니다. 제 생각에는이 단계에서 실행되는 3 개의 포드 정도였습니다.

그리고 해당 포드가 완료 될 때까지 기다려야합니다.

그리고 그 포드가하는 일은 이러한 사용자 지정 리소스 정의를 만드는 것이 었습니다.

글쎄, Istio 1.5부터는 더 이상 필요하지 않습니다.

이것은 포드를 생성하지 않고 해당 CR DS를 즉시 생성합니다.

해당 파일을 적용했으면 다음 단계로 이동할 수 있습니다.

따라서 이전 버전의 Istio로 작업 한 경우에만 해당됩니다.

이제이 과정 전체를 다시 녹음하지는 않겠습니다.

따라서 해당 파일을 적용한 후이 과정의 향후 비디오에서 저를 볼 수 있습니다.

Istio 시스템 네임 스페이스를 살펴보면 포드가 완료되었으므로 더 이상 수행 할 필요가 없습니다.

해당 파일을 적용하자마자 계속해서 Istio minkube dot yaml에 호출되는 시퀀스의 두 번째 파일을 적용 할 수 있습니다.

여기 엔터 키를 누르면 상당히 많은 오브젝트가 생성되는 것을 볼 수 있습니다.

그리고 실제로 이것은 Istio입니다. 그 파일은 거의 전체가 Istio 설치입니다.

그리고 Istio 시스템 네임 스페이스에서 포드를 가져 오는 이전 명령으로 돌아 가면 포드 집합이 있다는 것을 알 수 있습니다.이 포드는 현재 컨테이너 생성 상태에 있습니다.이 포드는 다시 Istio를 형성합니다. 이전 버전의 Istio로 작업 한 사람은 여기에 포드가 많지 않다는 사실에 놀랐을 것입니다. 저는 7 개, 예, 7 개 포드가 있다고 생각합니다. 반면 이전 버전의 Istio에는 여기에 많은 포드가있었습니다.

이제 일어난 일은 Istio 1.5 이상에서 Istio의 많은 구성 요소를 가져 왔습니다.

그리고 그것들을 모두 하나의 구성 요소로 결합했습니다.

여기 이건 Istio D라고 불립니다.

그리고 그것은 Istio 악마를 의미합니다.

Istio를위한 일종의 지원 포드라고 생각할 수있는 다른 포드는 매우 적습니다. 매우 빠르게 실행 해 보겠습니다.

일련의 그래프를 제공하는 Grafana 용 포드가 있습니다.

그리고 우리는이 과정의 원격 측정 섹션에서 구체화를 살펴볼 것입니다.

그런 다음 송신 게이트웨이와 수신 게이트웨이 포드가 있습니다.

또한 클러스터로 들어오고 나가는 트래픽을 제어 할 수 있습니다.

우리는 그것이 무엇인지에 대해 나중에 더 자세히 살펴볼 것입니다.

추적을위한 포드가 있으며이 워밍업 데모에서이 포드를 사용할 것입니다.

이에 대해 곧 더 자세히 설명하겠습니다.

CTO라고 생각할 수있는이 포드를 언급했습니다. Prometheus 포드도 있습니다.

그리고 그것은 우리에게 몇 가지 모니터링 기능을 제공 할 Griffon 포드와 함께 진행됩니다.

마지막으로 키 알리라는 멋진 꼬투리가 있습니다.

이제 우리는이 준비 운동에서 kiali를 광범위하게 사용할 것입니다.

한 문장으로, 클러스터를 시각화 할 수있는 그래픽 인터페이스이며, 클러스터에서 무슨 일이 벌어지고 있는지 매우 자세히 볼 수 있습니다.

그래서 우리는 그것을 곧 사용할 것입니다.

그래서 지금까지 4 분 정도 기다려야합니다.

그리고 그 4 분 안에.

이제 모든 pod가 실행 중 상태가되었으며 대부분의 pod에는 내부에 단일 컨테이너가 있습니다.

따라서 하나의 실행 중 하나만보고 싶습니다.

다시 말하지만, 이는 모든 단일 부품이 더 이상 문제가 아닌 적절한 수의 컨테이너가 실행되도록해야하는 이전 버전의 Istio와 큰 차이입니다.

Prometheus pod에는 내부에 두 개의 컨테이너가 있지만 두 개 중 두 개를 능가하는 컨테이너를 볼 수 있습니다.

그리고 그것은 당신에게 시간이 걸릴 수 있습니다. 저는 녹음을 위해이 컴퓨터를 빌리고 있으며 그것은 제 평소 컴퓨터보다 훨씬 빠릅니다.

나는 이것이 완전한 게임 장비라고 생각합니다.

따라서 시간이 조금 더 걸린다고해도 놀라지 마십시오.

여기에 관심이있을 경우를 대비하여 시작합니다.


이 과정의 첫 번째 버전에서 스크린 샷으로 전환했는데, STL 1.3에 기록 된 것 같습니다.

그리고 저는 여러분에게 그 당시의 모습이 얼마나 다른지 보여 드리고 싶습니다.

여기에는 Citadel과 같은 이상한 이름의 꼬투리와 조종사라고 불리는 꼬투리가 많이있었습니다.

그리고 사이드카 인젝터가있었습니다.

그 당시에는 훨씬 더 복잡한 네임 스페이스였습니다.

그리고 1.5 이후의 경우 확실히 그들은 물건을 상당히 정리했습니다.

이제 왜 처음 두 파일을 두 개의 개별 파일로 분할했는지 궁금 할 것입니다. 실제로이 두 파일을 하나의 파일로 완벽하게 결합 할 수있었습니다.

하지만이 과정의 초기 버전에서 istio의 이전 버전과 싸웠던 별도의 파일이기 때문에 순전히 별도로 유지하기로 결정했습니다.

이전 버전에서는 두 번째 파일을 안전하게 설치하기 전에 완료 될 때까지 기다려야했기 때문에이 파일을 자체적으로 실행해야했습니다.

따라서 실제로 두 파일은이 과정의 이전 버전과 일치하도록 거기에 있습니다.

이제 세 번째 파일은 kiali에 대한 사용자 이름과 암호를 설정하는 파일입니다.

그러나 실제로이 시점부터는 모든 것이 str 1.5의 이전 버전과 동일합니다.

그래서 이제 여기서 녹음을 중단하겠습니다.

코스의 이전 버전으로 다시 전환하겠습니다. 다른 점은 나머지 코스에서는 cygwin을 사용하므로 터미널이 다음과 같이 보일 것입니다.

영국에서 녹음 할 당시에는 코로나 바이러스로 인해 폐쇄되었고 원래 코스를 녹음 할 때 사용한 것과 동일한 컴퓨터에 액세스 할 수 없었기 때문에이 녹음을 위해 PowerShell을 사용해야했습니다. 의 위에.

저는 여기 게임용 PC를 사용하고 있는데 제 컴퓨터가 아니므로 변경할 수 없습니다.

그래서 나는 cygwin을 넣을 수 없었습니다.

물론 이것은 단지 터미널입니다.

모든 터미널은 Kubernetes를 위해 수행됩니다.

이제이 kiali 비밀 파일을 설치하는 방법을 살펴 보겠습니다.

이제 이것은 데모의 핵심 부분을 구성 할 것입니다. kiali는 클러스터를 시각화하기위한 훌륭한 도구입니다.

잠시 후 보여 드리겠습니다. kiali를 사용하려면 사용자 이름과 비밀번호를 설정해야합니다.

사용자 이름과 암호가 포함 된 구성 파일보다 더 복잡하지 않은 경우 Kubernetes에서 익숙하다고 가정하는 비밀 형식입니다. 실제로 암호와 kiali라고합니다.

그것은 base 64 인코딩을 통해 실행되었습니다.

따라서 어떤 식 으로든 암호화되지 않고 단지 인코딩 일뿐입니다.

그리고 저는 Kubernetes 과정에서 비밀에 대해 많이 설명합니다.

하지만 실제로 비밀은 비밀이 아닙니다. 암호화되지 않았습니다. 사실 일뿐입니다. 여기에서이 문자열을 실행할 수 있습니다.

그리고 사용자 이름과 암호에 동일한 문자열을 사용했습니다. 기본 64 디코더를 통해 실행할 수 있습니다. 온라인에서 많은 수의 디코더를 사용할 수 있습니다. 내 셸에 하나를 설치했습니다.

그래서 나는 그 문자열을 에코하고 base 64 dash D를 통해 실행할 수 있습니다.

그것은 단지 문자열 admin이며 base 64로 인코딩됩니다.

그러니 걱정하지 마세요. 60 달러를 직접 지불 할 필요가 없다면 온라인으로 할 수도 있고 제게 가져갈 수도 있습니다.

kiali에서 admin admin의 사용자 이름과 비밀번호를 설정합니다. kubectl을 적용하고 대시 f 3 단계, Keo secret dot yaml을 적용하면됩니다.


마지막 단계 인 네 번째 yaml 파일은 우리가 작업 할 애플리케이션입니다.

이제 여러분 중 일부는 Kubernetes의 기능을 시연하기 위해 차량 관리 시스템을 사용했던 이전 Kubernetes 교육 과정을 수강했을 것입니다.

당신이 그 과정에 있었다면, 내가 그것을 많이 밀었지만 동일한 응용 프로그램을 사용하기 위해 일관성을 결정했기 때문에이 응용 프로그램을 인식 할 것입니다.

그리고 Istio의 기능을 시연 할 수 있도록 변경했습니다.

내 Kubernetes 과정을 완료하지 않았다면 걱정하지 마십시오. 전혀 문제가되지 않습니다.이 과정을 진행하기 위해이 애플리케이션을 이해할 필요는 없습니다.

사실, 이것이 제가 여러분에게 줄 시나리오입니다. 여러분은 첫날에이 프로젝트에 참여했습니다. 프로젝트는 이미 시작되어 실행 중입니다. 그러나 여러분은 코드를 작성하지 않았습니다. Kubernetes 클러스터를 관리 할 것입니다.

그래서 당신은 정말로 익숙하지 않지만 시스템의 내부 작동에 전혀 익숙하지 않다는 점에서 상당히 불리합니다.

그러나 우리는 시스템에 결함이 있다고 들었습니다.

그리고 최근의 코드 변경으로 인해 결함이 발생한 것으로 보입니다.

그러나 문제는 코드 변경을 한 개발자가 휴가를 보내고 Git 저장소를 살펴보고 모든 커밋을 수행 할 수 있다는 것입니다.

그러나 이것은 바쁜 프로젝트입니다.

많은 커밋이 있으며 중단이 발생한 위치를 정확히 확인하기가 매우 어렵습니다.

이것이 배경입니다.

그리고이 응용 프로그램을 설치하려면 yaml 파일을 적용하는 경우라고 생각할 수 있습니다.

그러나 실제로 우리가 먼저해야 할 추가 단계가 있으며 이것은 절대적으로 중요한 단계입니다.

그래서 저는 여기서 멈추고 그것에 대한 비디오의 다음 단계를 수행 할 것입니다.

그래서 우리는 다음 단계를하는 것을 정말로 잊지 않고하고 있습니다. 그래서 다음 비디오에서 저와 함께합니다.