[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:devops-cloud\u002Fk8s-scheduling-resources":4,"config":253},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":151,"samples":171},"devops-cloud","DevOps \u002F Cloud","","k8s-scheduling-resources","K8s Scheduling Resources","tr",75,3375,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,94,97,100,103,106,109,112,115,118,121,124,127,130,133,136,139,142,145,148],{"key":19,"name":20,"count":11},"aws-compute-ec2-lambda","Aws Compute Ec2 Lambda",{"key":22,"name":23,"count":11},"aws-databases-rds-dynamodb","Aws Databases Rds Dynamodb",{"key":25,"name":26,"count":11},"aws-iam-security","Aws Iam Security",{"key":28,"name":29,"count":11},"aws-messaging-eventing","Aws Messaging Eventing",{"key":31,"name":32,"count":11},"aws-networking-vpc","Aws Networking Vpc",{"key":34,"name":35,"count":11},"aws-storage-s3-ebs","Aws Storage S3 Ebs",{"key":37,"name":38,"count":11},"azure-compute-vm-appservice","Azure Compute Vm Appservice",{"key":40,"name":41,"count":11},"azure-databases-sql-cosmosdb","Azure Databases Sql Cosmosdb",{"key":43,"name":44,"count":11},"azure-iam-security","Azure Iam Security",{"key":46,"name":47,"count":11},"azure-messaging-eventing","Azure Messaging Eventing",{"key":49,"name":50,"count":11},"azure-networking-vnet","Azure Networking Vnet",{"key":52,"name":53,"count":11},"azure-storage-blob-managed-disk","Azure Storage Blob Managed Disk",{"key":55,"name":56,"count":11},"ci-cd-pipelines","Ci Cd Pipelines",{"key":58,"name":59,"count":11},"cloud-architecture-scaling","Cloud Architecture Scaling",{"key":61,"name":62,"count":11},"containers-orchestration","Containers Orchestration",{"key":64,"name":65,"count":11},"deployment-release-strategies","Deployment Release Strategies",{"key":67,"name":68,"count":11},"gcp-compute-gce-cloudrun","Gcp Compute Gce Cloudrun",{"key":70,"name":71,"count":11},"gcp-databases-cloudsql-spanner-firestore","Gcp Databases Cloudsql Spanner Firestore",{"key":73,"name":74,"count":11},"gcp-iam-security","Gcp Iam Security",{"key":76,"name":77,"count":11},"gcp-messaging-eventing","Gcp Messaging Eventing",{"key":79,"name":80,"count":11},"gcp-networking-vpc","Gcp Networking Vpc",{"key":82,"name":83,"count":11},"gcp-storage-gcs-persistent-disk","Gcp Storage Gcs Persistent Disk",{"key":85,"name":86,"count":11},"infrastructure-as-code","Infrastructure As Code",{"key":88,"name":89,"count":11},"k8s-config-secrets","K8s Config Secrets",{"key":91,"name":92,"count":11},"k8s-observability-troubleshooting","K8s Observability Troubleshooting",{"key":8,"name":9,"count":11},{"key":95,"name":96,"count":11},"k8s-services-networking","K8s Services Networking",{"key":98,"name":99,"count":11},"k8s-storage","K8s Storage",{"key":101,"name":102,"count":11},"k8s-workloads","K8s Workloads",{"key":104,"name":105,"count":11},"linux-filesystem-permissions-links","Linux Filesystem Permissions Links",{"key":107,"name":108,"count":11},"linux-networking-tools-troubleshooting","Linux Networking Tools Troubleshooting",{"key":110,"name":111,"count":11},"linux-performance-monitoring-resource-limits","Linux Performance Monitoring Resource Limits",{"key":113,"name":114,"count":11},"linux-process-management-signals","Linux Process Management Signals",{"key":116,"name":117,"count":11},"linux-shell-scripting-ops-automation","Linux Shell Scripting Ops Automation",{"key":119,"name":120,"count":11},"linux-systemd-service-management","Linux Systemd Service Management",{"key":122,"name":123,"count":11},"networking-dns-loadbalancing","Networking Dns Loadbalancing",{"key":125,"name":126,"count":11},"observability-monitoring","Observability Monitoring",{"key":128,"name":129,"count":11},"reliability-incident-sre","Reliability Incident Sre",{"key":131,"name":132,"count":11},"security-iam-secrets","Security Iam Secrets",{"key":134,"name":135,"count":11},"terraform-hcl-language-expressions","Terraform Hcl Language Expressions",{"key":137,"name":138,"count":11},"terraform-modules-workspaces","Terraform Modules Workspaces",{"key":140,"name":141,"count":11},"terraform-plan-apply-drift-import","Terraform Plan Apply Drift Import",{"key":143,"name":144,"count":11},"terraform-providers-lifecycle-provisioners","Terraform Providers Lifecycle Provisioners",{"key":146,"name":147,"count":11},"terraform-state-backend-locking","Terraform State Backend Locking",{"key":149,"name":150,"count":11},"terraform-testing-policy-cicd","Terraform Testing Policy Cicd",[152,156,159,162,165,168],{"key":153,"name":154,"count":155},"aws","AWS",450,{"key":157,"name":158,"count":155},"azure","Azure",{"key":160,"name":161,"count":155},"gcp","GCP",{"key":163,"name":164,"count":155},"kubernetes","Kubernetes",{"key":166,"name":167,"count":155},"linux","Linux",{"key":169,"name":170,"count":155},"terraform","Terraform",[172,190,204,217,230,243],{"id":173,"topic":9,"difficulty":174,"body":175,"options":176,"correct_key":181,"explanation":189},"019f651a-7d34-74be-8c92-bb6e52301d72",1,"Bir Pod'un container spec'inde `resources.requests` ile `resources.limits` arasındaki temel fark nedir?",[177,180,183,186],{"key":178,"text":179},"a","Her iki alan da yalnızca kubelet tarafından, çalışma zamanında kullanım üzerine sert bir tavan uygulamak için kullanılır.",{"key":181,"text":182},"b","`requests`, scheduler'ın kapasiteli bir node bulması için kullanılır; `limits` kubelet tarafından çalışma zamanında uygulanır.",{"key":184,"text":185},"c","`requests`, kubelet tarafından çalışma zamanı tavanı olarak uygulanır; `limits` yalnızca scheduler tarafından kullanılır.",{"key":187,"text":188},"d","`requests` ve `limits` işlevsel olarak birbirinin yerine geçebilen, farksız alanlardır.","Scheduler, Pod için yeterli ayrılabilir kapasiteye sahip node'u belirlemek üzere `requests` değerini okur. `limits` ise Pod hangi node'a yerleşirse yerleşsin, container çalışırken kubelet\u002Fcontainer runtime tarafından bağımsız olarak uygulanır.",{"id":191,"topic":9,"difficulty":192,"body":193,"options":194,"correct_key":178,"explanation":203},"019f651a-7d34-7df7-a903-ddacde6230b3",2,"Bir container'ın gerçek CPU kullanımı, `resources.limits.cpu` değerini aşmaya çalışıyor. Container'a ne olur?",[195,197,199,201],{"key":178,"text":196},"Çalışmaya devam eder ama CPU kullanımı limit içinde kalacak şekilde throttle edilir.",{"key":181,"text":198},"kubelet, container'ı hemen OOMKilled sebebiyle sonlandırır.",{"key":184,"text":200},"Pod hemen tahliye edilip başka bir node'a yeniden zamanlanır.",{"key":187,"text":202},"Pod'un yapılandırılmış restart policy'sinden bağımsız olarak container yeniden başlatılır.","CPU sıkıştırılabilir (compressible) bir kaynaktır. CPU limitinin aşılması, sürecin CFS ile throttle edilmesiyle sonuçlanır, sonlandırma ile değil — bellekten farklı olarak CPU fazla kullanımı için bir öldürme mekanizması yoktur.",{"id":205,"topic":9,"difficulty":174,"body":206,"options":207,"correct_key":184,"explanation":216},"019f651a-7d35-766e-b713-9c656b34b366","Bir container'ın gerçek bellek kullanımı, `resources.limits.memory` değerini aşıyor. Tipik sonuç nedir?",[208,210,212,214],{"key":178,"text":209},"Container, CPU fazla kullanımında olduğu gibi yeniden başlatılmadan throttle edilir.",{"key":181,"text":211},"Node'da daha fazla bellek boşalana kadar Pod Pending durumuna geçer.",{"key":184,"text":213},"Container süreci çekirdek (kernel) tarafından öldürülür ve son durumu OOMKilled sebebiyle gösterilir.",{"key":187,"text":215},"Limit sessizce yok sayılır ve container bellek tüketmeye devam eder.","Bellek sıkıştırılamaz (non-compressible) bir kaynaktır. Kullanım container'ın bellek limitini aştığında, çekirdeğin OOM killer'ı süreci sonlandırır ve `kubectl describe pod`, container'ın son sonlanma durumunu OOMKilled olarak raporlar.",{"id":218,"topic":9,"difficulty":192,"body":219,"options":220,"correct_key":187,"explanation":229},"019f651a-7d36-701f-8217-a3feff859e61","Node'un allocatable belleğinin 100Gi'den çok daha az olduğu tek node'lu bir cluster'da şu Pod'u uyguluyorsun:\n```yaml\napiVersion: v1\nkind: Pod\nmetadata:\n  name: big-request\nspec:\n  containers:\n  - name: busybox\n    image: busybox\n    command: [\"sleep\", \"3600\"]\n    resources:\n      requests:\n        memory: \"100Gi\"\n        cpu: \"500m\"\n```\n`kubectl get pod big-request` STATUS'u `Pending` gösteriyor. `kubectl describe pod big-request` çıktısının Events bölümü büyük olasılıkla ne gösterir?",[221,223,225,227],{"key":178,"text":222},"Warning ImagePullBackOff: back-off pulling image \"busybox\"",{"key":181,"text":224},"Warning CrashLoopBackOff: back-off restarting failed container",{"key":184,"text":226},"Warning FailedScheduling: 0\u002F1 nodes are available: 1 Insufficient cpu.",{"key":187,"text":228},"Warning FailedScheduling: 0\u002F1 nodes are available: 1 Insufficient memory.","İstenen 100Gi bellek, tek node'un sunabileceğinden fazladır, bu yüzden scheduler Pod'u yerleştiremez. Events bölümü, karşılanamayan kaynağı adıyla belirten bir FailedScheduling uyarısı raporlar — burada CPU değil, bellek.",{"id":231,"topic":9,"difficulty":192,"body":232,"options":233,"correct_key":178,"explanation":242},"019f651a-7d36-7b41-97ae-532ad2811f42","Bir Pod'un tek container'ında hem CPU hem bellek için `resources.requests` ile `resources.limits` tam olarak aynı değerlere ayarlanmış. Kubernetes bu Pod'a hangi QoS sınıfını atar?",[234,236,238,240],{"key":178,"text":235},"Guaranteed",{"key":181,"text":237},"Burstable",{"key":184,"text":239},"BestEffort",{"key":187,"text":241},"Reserved (Kubernetes'in yalnızca control-plane Pod'ları için kullandığı bir sınıf)","Bir Pod, Guaranteed QoS sınıfını yalnızca her container hem CPU hem bellek için requests'i limits'e eşit belirttiğinde alır. \"Reserved\" gerçek bir Kubernetes QoS sınıfı değildir.",{"id":244,"topic":9,"difficulty":192,"body":245,"options":246,"correct_key":181,"explanation":252},"019f651a-7d37-74c8-9932-db91e419b96f","Bir Pod'un container'ı `resources.requests.memory` değerini `resources.limits.memory`'den düşük ayarlıyor (ve\u002Fveya requests, her kaynak için limits'e tam eşit olmadan ayarlanmış). Pod hangi QoS sınıfını alır?",[247,248,249,250],{"key":178,"text":235},{"key":181,"text":237},{"key":184,"text":239},{"key":187,"text":251},"requests, limits'e tam eşit olmadıkça Pod zamanlanamaz.","En az bir container'da requests ayarlanmış ama her kaynak türünde limits'e eşit değilse, Pod Burstable sınıfına düşer — Guaranteed (her yerde requests==limits) ile BestEffort (hiçbir şey ayarlanmamış) arasında.",{"fields":254,"seniorities":426,"interview_shapes":427,"locales":432,"oauth":434,"question_count":437,"coach_enabled":438,"jd_match_enabled":438},[255,280,300,317,327,340,359,378,400,407,413,420],{"key":256,"name_tr":257,"name_en":257,"sort":174,"specializations":258},"backend","Backend",[259,262,265,268,271,274,277],{"key":260,"name":261,"field":256},"general","Genel",{"key":263,"name":264,"field":256},"go","Go",{"key":266,"name":267,"field":256},"python","Python",{"key":269,"name":270,"field":256},"java","Java",{"key":272,"name":273,"field":256},"csharp","C#\u002F.NET",{"key":275,"name":276,"field":256},"nodejs","Node.js",{"key":278,"name":279,"field":256},"php","PHP",{"key":281,"name_tr":282,"name_en":282,"sort":192,"specializations":283},"frontend","Frontend",[284,285,288,291,294,297],{"key":260,"name":261,"field":281},{"key":286,"name":287,"field":281},"javascript","JavaScript",{"key":289,"name":290,"field":281},"typescript","TypeScript",{"key":292,"name":293,"field":281},"react","React",{"key":295,"name":296,"field":281},"vue","Vue",{"key":298,"name":299,"field":281},"angular","Angular",{"key":301,"name_tr":302,"name_en":302,"sort":303,"specializations":304},"fullstack","Fullstack",3,[305,306,307,308,309,310,311,312,313,314,315,316],{"key":260,"name":261,"field":301},{"key":263,"name":264,"field":256},{"key":266,"name":267,"field":256},{"key":269,"name":270,"field":256},{"key":272,"name":273,"field":256},{"key":275,"name":276,"field":256},{"key":278,"name":279,"field":256},{"key":286,"name":287,"field":281},{"key":289,"name":290,"field":281},{"key":292,"name":293,"field":281},{"key":295,"name":296,"field":281},{"key":298,"name":299,"field":281},{"key":5,"name_tr":6,"name_en":6,"sort":318,"specializations":319},4,[320,321,322,323,324,325,326],{"key":260,"name":261,"field":5},{"key":153,"name":154,"field":5},{"key":160,"name":161,"field":5},{"key":157,"name":158,"field":5},{"key":163,"name":164,"field":5},{"key":169,"name":170,"field":5},{"key":166,"name":167,"field":5},{"key":328,"name_tr":329,"name_en":329,"sort":330,"specializations":331},"ai-engineer","AI Engineer",5,[332,333,334,337],{"key":260,"name":261,"field":328},{"key":266,"name":267,"field":328},{"key":335,"name":336,"field":328},"llm-rag","LLM\u002FRAG",{"key":338,"name":339,"field":328},"mlops","MLOps",{"key":341,"name_tr":342,"name_en":343,"sort":344,"specializations":345},"database","Veritabanı","Database",6,[346,347,350,353,356],{"key":260,"name":261,"field":341},{"key":348,"name":349,"field":341},"postgresql","PostgreSQL",{"key":351,"name":352,"field":341},"mysql","MySQL",{"key":354,"name":355,"field":341},"mongodb","MongoDB",{"key":357,"name":358,"field":341},"redis","Redis",{"key":360,"name_tr":361,"name_en":362,"sort":363,"specializations":364},"mobile","Mobil","Mobile",7,[365,366,369,372,375],{"key":260,"name":261,"field":360},{"key":367,"name":368,"field":360},"ios-swift","iOS (Swift)",{"key":370,"name":371,"field":360},"android-kotlin","Android (Kotlin)",{"key":373,"name":374,"field":360},"flutter","Flutter",{"key":376,"name":377,"field":360},"react-native","React Native",{"key":379,"name_tr":380,"name_en":381,"sort":382,"specializations":383},"security","Güvenlik","Security",8,[384,385,388,391,394,397],{"key":260,"name":261,"field":379},{"key":386,"name":387,"field":379},"appsec","AppSec",{"key":389,"name":390,"field":379},"offensive-pentest","Offensive \u002F Pentest",{"key":392,"name":393,"field":379},"cloud-security","Cloud Security",{"key":395,"name":396,"field":379},"devsecops","DevSecOps",{"key":398,"name":399,"field":379},"blue-team-incident","Blue Team \u002F Incident",{"key":401,"name_tr":402,"name_en":403,"sort":404,"specializations":405},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[406],{"key":260,"name":261,"field":401},{"key":408,"name_tr":409,"name_en":409,"sort":410,"specializations":411},"data-engineer","Data Engineer",10,[412],{"key":260,"name":261,"field":408},{"key":414,"name_tr":415,"name_en":416,"sort":417,"specializations":418},"game-dev","Oyun Geliştirme","Game Development",11,[419],{"key":260,"name":261,"field":414},{"key":421,"name_tr":422,"name_en":422,"sort":423,"specializations":424},"ml-engineer","ML Engineer",12,[425],{"key":260,"name":261,"field":421},[14,15,16],{"junior":428,"mid":430,"senior":431},{"questions":429,"median_sec":3},20,{"questions":429,"median_sec":3},{"questions":429,"median_sec":3},[10,433],"en",[435,436],"google","github",21750,true]