Free YouTube Transcribe

Video transcript

РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ НА ПОЗИЦИЮ MIDDLE DevOps

eatmore · 6,300 words · 29 min read

WhatsAppTelegramX

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

Начало

0:00Alright , let's ask a few questions about Linux , shall we ? Could you explain what processes and

Процесс и поток в линуксе, в чем отличие

0:09threads are in Linux ? Well , processes are essentially any program running in either userspace or kernel space . It’s basically the core fundamental unit in Linux , I’d say . A thread is spawned by a process , it's a

0:31part of it , and that’s the main difference as I understand it . Can they actually exist without each other ? I don’t think so , no , because

0:51a thread is a component of a process , the smallest unit of execution . I don’t think it can exist without a process . Okay . Here’s another question . What can you tell me about Load Average ?

Load average

1:06Load Average , what is it ? It’s the number of processes and I / O operations , if I’m not mistaken . Over 1 , 5 , and 15 minutes that are waiting for processor time . That’s what it is . Uh-huh . What would be an optimal number

1:28, for example , of these units with four cores ? Three , I think , or maybe four . Well , when it's four , it means it's likely maxed out , but when it's three , it's ... Well , it can still work . Yeah . But it probably won't be running very smoothly . So three , or about 75-80

1:50% , that’s what I think is optimal . Beyond that , you need to decide if you need to optimize something or take other measures . Okay , good . Now consider this case : a developer comes to you , you have one VM , right ? Uh-huh . It has four cores , and the developer says there’s a database running on it

2:10. The developer approaches you and says , " Listen , I can't connect to the database , it's really sluggish . " You log into the VM and see that the LA is twice as high . If you have four cores , it’s already at eight . Right . But then you check CPU usage and it's only

2:30at 20-30 % . So , aside from CPU issues , what else could it be ? Where else can we dig ? Well , as far as I know , the Load Average isn't just based on CPU load . It could be the data bus , I / O operations , and that's where I'd start digging — maybe check the database logs

2:47, how the services are deployed , how they're configured , or how the unit files are set up , and so on . That’s the direction I would look in . Maybe there are too many temporary files being created constantly , or something like that . Yeah , that’s where I would start digging . Right . Exactly .

3:10Okay . Can you tell me , for instance , a simple

Как найти процесс и информацию о нем

3:15question : how do I find a process ? Well , using top , or ps aux , and then you can either look it up by PID or kill it by PID , and so on . Exactly . That’s the main thing . So , look , you've found a process , let's say , some worker written in Go . Uh-huh .

3:32Where can you find all the information about it ? Hmm , damn . And which file specifically contains that information ? I don't remember the exact directory , but I don't recall which specific subdirectory it's in . But as far as — Well , you have / proc , then you have the process ID number , and basically all

3:53the info about it is laid out there . Right . And you mentioned top earlier . By the way , top gets all its info from there . It just reads from those files . Uh-huh . Okay . Okay . Ah , alright . So , let's move on to this question . What can you tell me

Отличие контейнеризации от виртуализации

4:13about Docker , in general ? Like , the standard question : what’s the difference between containerization and virtualization ? Well , virtualization is a process where you install a hypervisor , like Proxmox or KVM , onto bare metal . Then you install a completely isolated operating system with its own kernel , its own

4:34processes , and its own dedicated hardware and resources allocated to that specific virtual machine . And then , inside that VM , you run processes using that VM's kernel and resources — for example , Docker containers and so on . A container is when a process starts , you could say , from a specific

4:56point , basically just a process triggered from the host kernel . Yeah , in some other virtual namespace , with perhaps some capabilities and so on , but that's the difference . Uh-huh . Uh-huh . Ntokha , turn off your mic . You're typing loudly . Well , also

5:16the thing is , like , for instance , if you run a container on Windows , as far as I know , it deploys its own little VM , and it's running the container on Linux , as if inside a Linux VM . That's if it's on Windows . By the way , what are you running on ,

5:35anyway ? On Linux . And what distro , what version ? Ubuntu ? I just have the standard one , I don't know , the classic one . Did you upgrade to the new one , to 24.04 ? No , I was just looking at all the updates for Docker and so on . I understand that the latest stable

5:51version is 22.04 . And there are no utilities for 24.04 yet , as far as I understand . There's stuff like Wine , but that's not needed , yeah , I got that . Okay . So. Alright . Uh , so , fine . Alright . So , for example , can you explain the difference

Отличие RUN, CMD и ENTRYPOINT

6:10between CMD and ENTRYPOINT , what they are and how they actually work ? Well , RUN is a command executed during the container build process . So , RUN creates a conditional layer in your Docker container , and these ... so , RUN creates a layer , right ? And CMD and ENTRYPOINT are , you could say , almost

6:32the same commands , except one can be overwritten . These are commands that run when you start the container , and CMD can be overwritten when launching , while ENTRYPOINT cannot . I mean , sometimes people write something with ENTRYPOINT and something with CMD , and

6:55since ENTRYPOINT can't be overwritten , it automatically runs the ENTRYPOINT command first , followed by the one you can override , so there's no conflict during runtime . So , ENTRYPOINT can't be overwritten at

Без какой инструкции не запуститься контейнер и вопрос про мультистейдж

7:11all , then ? Well , I think you can with a flag . Well , yeah , with a flag , I think you can . Okay . Okay . And without which instruction will a Docker build fail ? Probably without FROM . Well , without pulling the base image there . And how many " FROM " s can there

7:29actually be ? Can there be more ? Yes , yes , there can even be 100 " FROM " s . Theoretically , well , that's multi-stage , it's for optimizing the image size . Certainly , in the first stage you install all the necessary packages , all the dependencies to build the application itself , build tools , and so on . And in

7:50the second stage , you basically just pull the required executable files , some binaries , and so on . And because of that , you don't install everything , just the minimum required set of packages to simply be able to run that binary . And because of this , an image that was , say , 500 MB becomes 100 .

8:12That's how it works . Uh . Uh-huh . Okay . Okay . By the way , I don't think you mentioned , when you were talking about containerization versus virtualization , what technologies is it actually based on ?

На каких технологиях построена контейнерзация (Docker)

8:25Well , which ones ? Well , the main components , as far as I know , are the client-side , like all those docker run , docker build , docker stop , all these client requests . Then the daemons themselves , the daemon , the container registry , the remote one . And in the daemons , there are the images

8:45themselves . But at the Linux level , was something added to Linux , what did Docker bring with it ? Well , as far as I know , it uses namespaces , cgroups , capabilities . And as I know ,

9:05sure , the main part , right , for example , yes , the Docker component is just those daemons and various libs for interaction and so on . But could you tell me , what is a namespace ? Well , a namespace is a kind of abstraction , like resource isolation in , well , oh ,

9:27not in Kubernetes , but in just in Linux . It means you have isolation of individual processes , resources , and so on . Meaning your processes run only within a specific namespace . So , in that namespace , processes basically don't see each other . Capabilities are

9:48when you have specific , well , specific rights , the minimum necessary rights to run certain processes , granted precisely so that you don't have a situation where a process is running with root privileges . And cgroups are for limiting specific resources to specific groups of processes . So they

10:09are also used , uh , together with namespaces for better control of the resources used by these processes . That's how it is . Where else , for example , can cgroups be used in Linux ? Hmm , if you take away Docker , well , in principle , I think just in certain specific applications and so on

10:29. Just in applications . Wait , I can't hear you . Well , I just think in some applications , can you hear me ? There , now I can hear you , yeah . Well , there you go . Well , it's just that I think in some , I don't know , applications and so on , it can be used .

10:41It's just , it's just a mechanism for limiting resources for certain specific groups of processes . Right . So I think you can use cgroups almost anywhere . Uh-huh . Okay . Okay . Okay . All right . Oh , listen , a question , by the way , you mentioned , yeah , that you did everything in Terraform , this and that ,

10:59all that stuff , but did you have to interact with the developers at all ? Ah , well , yeah . But that was when , oh , when you had to , say , prepare an environment , like helping to prepare an environment , then you'd be the one ... I was the one who , like , contacted the

11:14developers and asked what , what more or less specific amount of resources the application consumes , and maybe , like , what amount of requests more or less their application unit can handle simultaneously , and from that , like , that's what I based it on , and then some number of , say , application replicas from scratch , then , uh , scale

11:36it from there , like , at some point there will be more traffic , and so , well , you already based it on that . And then , if there were any hangups with the deployment , we had everything organized in Jira , we contacted them promptly , helped , whoever could help , that's how it was . That's how it was

11:57organized . And did you have to debug applications there ? What did the devs actually write in ? Well , mostly it was Python , all sorts of Django applications , Flask applications . There was one time with PHP , well , on Laravel as well , uh , then there were , well , those were the main languages , then

12:15there was one time with Java , where they built something with Maven and Jib , and that was basically it . And also , well , I just watched and observed how , more or less , a Go application is built , and it's built using a makefile and just using a regular multistage build in Docker . There . That’s basically

12:37how it was . Uh-huh . Uh-huh . Okay . Do you know

Что такое REST API

12:41anything , for example , about REST API ? REST ? Well , it's the operating principle of networks , where you have , let's say , a ... ... where you have , let's say , it's an application architecture , where it's based on the client and server exchanging data using HTTP

13:02requests , roughly speaking . The features of REST API are that each resource has its own URL , like an API , which you can call with all these CRUD requests and interact with the resources through them . And , if I'm not mistaken , neither the client nor the

13:23server stores information about each other . Like , all the minimum necessary information is stored in the requests themselves . And , if I'm not mistaken , these requests are almost always in JSON format , data is almost always transmitted in JSON . I think that's also a specific thing in REST API , if

13:45I'm not mistaken . So. Uh-huh . Uh-huh . Got it . Yes , thanks . All right , Antokh , your turn then , yeah ? Hi . Is it okay if we use informal address ? Yes , yes , that’s fine , yeah . Okay , good . So , looking at your resume regarding writing Helm charts ,

14:08what exactly did you do there ? Did you write them yourself or modify existing ones ? Well , I wrote small Helm charts myself . Mostly it was modifying , like adding a template here or there , let's say with Go , so it would deploy under certain conditions , and so on . That's mainly it . But mostly modifications . And I wrote

14:27some myself , and added to them here and there , and so on . That’s basically it .

Какие варианты знаешь как развернуть helm chart на 3 разные зоны

14:33So , okay . What options do you know for how a Helm chart can — let's say you have three zones ... ... prod test , prod , well , dev , it doesn't matter how many , five zones . What options do you know for how this can be implemented in Helm itself ? Both based on Helm and not

14:52based on Helm . Well , based on Helm , it’s just by using a package , sending it to some package registry with some version , like this and that , and then deploying that package to different environments . Wait , wait , let me broaden the question then . Are there different environments , like , settings ?

15:15Well , it's all done via values files and dependency files . It just pulls in different dependencies . You have different values files being swapped in at runtime , theoretically . And you can set all of this up using Argocd . But do you know any ways to handle it if it's value 1 ? Hmm , I think you could probably set up

15:35some kind of template , like : if this , then use this values file , and if that , then use that values file , or maybe implement it using some kind of Helm tag . Yeah . Well , in general , yes , there are options using if-statements , there are options using plug-ins . There are many

15:53options . Yes , those Go templates for the charts themselves . Right , okay . Um . For Helm , let's

Вопрос про написание хелм чартов

16:02imagine : did you write one shared chart for Go projects , or did you write one for each project ? Ah , well , generally it was more or less just multi-repo , where each project had its own specific Helm chart and its own specific section in , say , a package registry . And that's

16:25how it was all implemented too . Did you have Helm dependencies between them ? I mean , imagine you need a database , or let's say Redis is deployed into a Kubernetes cluster , and if your application always uses Redis , you'd want Redis to be deployed by that same Helm chart during application

16:48deployment without any extra hassle , without any extra files . No , actually , I've only done it by just pulling in different dependencies using the dependencies field in the requirements.yaml file or something similar . Well , that's basically how it works .

17:08Like you said , you can specify Helm dependencies there . Well yeah , and pull them in . And dependencies on other Helms can also be managed . So , yes . Ah , well , okay . That's something for later . So. Okay . All right , let's move on .

Из чего состоит kubernetes ( архитектура )

17:22Let's move on to K8s then . Hmm , what does K8s usually consist of ? Well , I mean , on bare metal , what’s on those instances , what is it made of ? Well , okay . Well , there’s , like , the K8s architecture ; you basically have a

17:44master node and a worker node . On the master node , you have the core Kubernetes API , etcd . That’s a key-value store that basically holds the entire cluster configuration . You have a controller , which is a service that monitors the entire cluster to ensure it matches the configuration in

18:06etcd . And if something happens , it reacts to that and does something about it . Then there's the Kube-scheduler , which is responsible for distributing pods across various nodes . Worker nodes . The worker node itself consists of

18:26Kubelet . This is a service that basically controls the state of the node . There's Kube-proxy , which handles the networking . There's the Container Runtime Interface , which is responsible for the containers . And there are , as

18:48far as I know , some control loops that handle things like health probes or something similar . So , okay . Hmm , a pod

Что такое pod. доп вопросы

19:01— what is it , why is it needed , and what’s actually inside a pod ? Well , okay . Well , a pod is basically the smallest unit in Kubernetes , where containers are usually located . There can be one or two containers , for instance , if there's a sidecar

19:23container , say , for monitoring each pod or something like that . Basically , it is the smallest unit of deployment , or rather , the smallest resource unit in Kubernetes , and serves as an abstraction for pods . It also makes it easier to manage things if you have

19:47multiple containers in one pod . Right . Uh-huh . You mentioned sidecars and things like that . With multiple containers in a pod , can you split those containers across different worker nodes ? Well , if two containers are in the same

20:09pod , you can't split them so that one container is on one worker node and the other is on a different one . You can't do that , because there is a mechanism that specifically determines which pod goes on which node . And you can't , like , make the containers within a single

20:31pod end up on different nodes . You can't do that , as far as I know .

namesapce в кубе, для чего

20:35Yes . Okay . So , Namespaces , what are they even for ? What are they ? And if there are issues , why don't they just put everything in one Namespace all the time ? A Namespace is basically a resource limitation in Kubernetes , used for different environments and so

20:58on . And the Namespace solves the problem where your applications can't see the apps , or rather the processes , in other Namespaces . And what was that other question again ? Well , you’ve basically already answered it more than

21:20once . There you go . Okay .

Какие есть сущности дял управления подами

21:23So , what entities do you know for managing pods ? Well , there’s the deployment itself , the main one . There’s replica set , there’s stateful set , and there’s daemon set . Well , do job and cron job count ? Well , they sort of create a one-off container . So I think job and cron job count . And service .

21:43Well , in general , yes . There you go . Basically .

Отличие replicaSet, deployment, statefulSet и DaemonSet

21:47So , what is a deployment needed for ? Well , how do replica set , deployment , stateful set , and daemon set differ then ? Okay . Well , a deployment is basically the main unit in Kubernetes responsible for deploying an application , for controlling things like application images , and , say , controlling the

22:08number of application replicas . I mean , a deployment creates a replica set when it's created , which then controls exactly how many pods need to be maintained and so on . And the main difference between a deployment and a

22:29replica set is that a deployment , first of all , allows you to change container images painlessly , and allows you to not just update the application , but also use blue-green deployments . And

22:52basically , it’s mostly for rolling updates and canary deployments . That’s the main difference . You could just say that a deployment is a higher-level abstraction over a replica set . As for the difference from a stateful set , a stateful set is also a type of resource in Kubernetes used

23:12mainly for applications that require their own state , like databases , metric collectors , and things like that . So , a stateful set has its own persistent IP address , its own persistent identifier ,

23:37and its own persistent storage , like a PV , right ? With persistent storage , each pod in a stateful set has mounted storage , whereas a deployment has one volume for the entire deployment . And

24:00maybe the difference in naming : a deployment has the deployment name plus some postfix , while a stateful set has the stateful set name followed by 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , and so on . That's it . Here are some other differences as well

24:22. Well , basically , what I said :, I don't know , StatefulSet applications are much harder to scale there because it requires state , it's much harder there , what I know , what else ... StatefulSet applications , they specifically , a certain StatefulSet application cannot be the same on different worker nodes

24:43because it's tied to a specific file system , well , to a volume of a specific worker node . That's another thing . Yeah . Okay . Did you mention DaemonSet ? Well , and a DaemonSet is just , uh , also a type of resource that runs a specific

25:04pod on every worker node , a specific pod on every worker node . And that is mainly for various technical processes like collecting metrics , I don't know , logs , and so on . Yeah . Uh-huh . Okay . So , you mentioned in the beginning , what is the scheduler for ? For scheduling , in principle , for ...

25:26Okay . Scheduling , well , where which pod should go based on resources .

Для какой абстракции не нужен Kube scheduler

25:30So , you mentioned meta-abstractions like Deployment , CronJob , StatefulSet , ReplicaSet , controller . For which abstraction is a scheduler not needed ? Well , for abstractions , I think , for some kind of service , because it's not tied to anything . Wait

25:52, no , no , no . Damn , there is a service in terms of networking , which is responsible for the network in the cluster . No , precisely among these abstractions . And out of these , I think , well , the scheduler , I think , I think CronJob , because it kind of hangs in the process

26:08constantly . Maybe some kind of CronJob , I don't know . But your scheduler , besides distribution , it also reserves resources on the node , right ? Well , yes . Considering that a DaemonSet is on all nodes , it doesn't need a scheduler in advance , because it reserves resources on the nodes fully in advance . Well ...

26:27Resou — , so no one will kick them out if there aren't enough resources . Uh-huh .

Какие есть ограничение ресурсов в кубе (Qos)

26:33So , okay . Um , are there any , well , since we started talking about resources , any options for limiting resources in Kube ? Pros and cons of these ? Yes , there are things like Quality of Service , that's when you have the request and limit matching , well , the same values . There is , if I'm not

26:56mistaken , Burstable — that's when your resource request is lower than the resources , and there is BestEffort . That's , in principle , all the other resources . And while there are pros and cons , the best part here is that there's no struggle for resources , unlike the best-effort class , where

27:18there's some contention when you have , say , a stable limit . Guaranteed is the best , meaning that , I don't know , if you need to kill resources , say , free up space for a specific pod , then in Kubernetes it will kill the pods with

27:42best-effort quality of service first , then the others , and only then the guaranteed ones . Well , that's in extreme cases . Yeah .

Минусы request ограничения

27:55Uh-huh . Are there any downsides to limits , well , to requests specifically , not limits , but requests ? Requests . Hmm , well , I think if the request , well , I think it's possible that if the request is slightly larger than the available resources in the cluster , then it simply won't deploy at all . Maybe

28:14that's a negative aspect .

Варианты как можно выкинуть приложения наружу

28:17Yes , that's correct . So , what options do you know ? To expose an application from inside Kube to the outside . Ah , well , you can use a load balancer , you can use a service like a LoadBalancer type , you can use

28:38something like an ingress controller with a load balancer , or maybe an ExternalName . Yeah . And ClusterIP ? Well , ClusterIP is an IP that's only inside the cluster . It can't interact with an external IP address . Cluster

29:00IP I don't know . So , you're exposing the application to the outside . Go on . Actually , ClusterIP allows routing traffic to grouped resources only within the cluster . As far as I know , it's only in the cluster , so you can't access it directly from outside to a

29:22ClusterIP without a load balancer . You need a load balancer that would , say , redirect to the ClusterIP . That way is possible , but directly from some external IP to a ClusterIP , that's not possible . Because there's simply no access . Okay , I see , you meant directly to the internet . Well , yes , yes , of course .

29:39Well , yes , yes , of course . Well , alright , so I asked the wrong question then . Well , to the outside specifically . from the cube , so you can access the Cube . And also then , if there are some options , like , well , you are inside the cube network , well , so that the

29:55application could be accessed from your local machine , let's imagine , to test it . Hmm , well , exactly there with the help of clusterctl , you can port-forward , I don't know . Well yeah , port-forwarding . Uh-huh . Ah , well , port-forwarding the application . Okay , and I have another question for you . Is there any way , well , to make

Можно ли как нибудь сделать так что бы поду всегда на определенную ноду попадали

30:21pods always land on a specific node ? Well yeah , you just need to define affinity , so either using a node selector , so that it goes to some specific node , or with some specific resources selector , or if you really need it on one specific node , then using node , what's it called , node name

30:39, if I'm not mistaken , just by node name to some specific pod . Oh , node . There . Or you could , I don't know , set it on all nodes except , say , a group of nodes , just taints and don't add tolerations to the pods . That's probably another way to do it .

30:59Well , actually , you just prompted me

Отличие label и selector

31:01with a question . Labels and selectors , what's the difference and what are they used for ? Well , labels , as I know , are used in general there , wait , labels specifically , where labels , labels for marking like worker node and master , or labels in the deployment itself , in the files themselves ,

31:21are they any different ? Well , somehow , well , just , well , it's a label , label and label . Well , label is a tag , like , you're in the deployment , basically , it allows you to interact with a specific group . Well , specifically that deployment and groups and container groups and

31:40container groups , well , pods in the case of Kubernetes , which are specifically inherent to that deployment , it helps to interact with that label , say , with some ClusterIP service . Like that . And the label on a worker node , damn , I actually don't remember , but maybe a label on a worker

31:58node allows , using affinity , to somehow , I don't know , set priorities . Okay , then a question . Given that you said , can different deployments , well , different pods of a deployment , let's say , which are v2 , can they have the same , let's say , port

32:21name ? Hmm , maybe , but as far as I know , if you have a service that looks specifically at that label , it will target those two deployments , or so I think . Then what is the selector for ? Well , I think it's more for , I don't know , for selecting nodes , like for

32:40choosing which node something should be deployed on , for that purpose . Right . Regarding Ingress , when you create a service , if you have , let's say , in your deployment there are five pods , let's imagine , replicas set to five , and you connect them all in the service

33:01, forwarding them . How do you do that ? In terms of via Ingress or no ? Specifically the service . Service without Ingress for now . The service , how do you do it ? Well , you then access this service , and it balances traffic between them , right ? How do you reach this app ?

33:20Not by not by labels . No. Hmm . Damn , well , usually for me , you just reach it in the service via the selector . So the selector is , uh , how do I put it , the word slipped my mind , not individual . Anyway , the word slipped , in short , it can't be repeated

33:42. Not exclusive . Well , exclusive , in short , a name , yes , unique . Everything just slipped out of my head . Unique name . But labels , they can be repeated . So you can sort by labels , like show all pods that have the label ' prod ' or , I don't know , or ' test ' , and so on . So ,

34:00create a selection . You said it correctly that you can attach one label to a group of nodes and then use affinity to deploy them . Mhm . And the selector is more for identifying what we need . The service specifically works by selector . No , the port is specified there and the application , but it's also a selector ,

34:22I think . Mhm . Okay . How , in an HA if you have a

Как ты будешь реализовывать скейлинг приложений в кластере

34:30High Availability application , how will you implement scaling and will you specify a certain number of replicas , or are there mechanisms to scale what ? The cluster itself , or specifically the application . The application specifically . Mhm .

34:50For now . Yes , I will just look into ... I'll create perhaps some specific HPA , you know , an autoscaler . And in it , I will specify that for such and such nodes , scale it at , say , a certain CPU utilization , or memory utilization of

35:1080 percent , scale up to this maximum number of replicas , or have a minimum number of replicas like this . Well , I would implement it like this , plus : I'd just create some HPA , either one or maybe two for certain applications . There you go . Okay . Well , overall , I think I've asked

35:31everything I wanted regarding Kube and Helm . I don't know what's next , whether we need GitLab or Ansible ; if needed , I can ask about those . If not , I'm generally ready to wrap up , so Listen , I wanted to ask a question . You were talking about " BestEffort " QoS ,

Допустим у нас limit и request разный, и в кластере ресурсов меньше чем в лимите, даст ли нам выложить pod в кластер?

35:49which ... You said , right , that requests won't let you deploy if we don't have the resources . But if we exceed the limits , will it let us deploy ? No , limits don't really ... like limits in a deployment are conditional , but it will kill it . It will kill the container using some OOM mechanism . And

36:11no , I mean , will it let me deploy it ? Say I don't have the resources , but I set the limits higher than my current available resources . Will the pod itself deploy , regardless of the limits ? Uh , look , there's a request , right ? Say I set a request of 256 MB of memory ,

36:28right , and the limit is 512 . Yeah . But I know that , well , the kube doesn't have enough resources to go beyond the limits . Will it let me deploy this pod ? If this pod has some priority , it will kill a pod that has , say , " BestEffort " quality of service and will let you

36:48deploy it there and adjust the limits if , yeah . No , it does look at that , right ? No , no , no . That's the request . Uh-huh . But what about the limits ? Hmm . Damn , I see what the question is now , damn . I don't think so , actually ,

37:06I don't think so . I think it will say that you don't have the specific resources for that . No. Or it will let you deploy , but it will keep killing that container when it tries to reach those resources . And that's most likely how it's implemented . Maybe , yeah . Well , that's how it will be . OOM kill .

37:28That's a thing in Linux . Like , even when you just press " top , " you'll see everyone has one limit . Well , so that by default everyone can start up . And when , accordingly , it's exceeded it arrives , right ? It happens . Okay . Alright . What ? So.

Recently added transcripts

Browse the whole transcript library Browse all English transcripts

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com, free, unlimited, no sign-up.