偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

K8s 常見面試題,讓你求職不迷路

云計算 云原生
你可以將容器運行在不同的機器或節(jié)點中,并且可以將一些變化同步給這些容器,簡單來說我們只需要編寫 yaml 文件,告訴 k8s 我的預(yù)期是什么,其中同步變化的過程全部都交給 k8s 去完成。

前段時間在這個視頻中分享了 https://github.com/bregman-arie/devops-exercises 這個知識倉庫。

這次繼續(xù)分享里面的內(nèi)容,本次主要以 k8s 相關(guān)的問題為主。

k8s 是什么,為什么企業(yè)選擇使用它

k8s 是一個開源應(yīng)用,給用戶提供了管理、部署、擴展容器的能力,以下幾個例子更容易理解:

  • 你可以將容器運行在不同的機器或節(jié)點中,并且可以將一些變化同步給這些容器,簡單來說我們只需要編寫 yaml 文件,告訴 k8s 我的預(yù)期是什么,其中同步變化的過程全部都交給 k8s 去完成。

其實就是我們常說的聲明式 API

  • 第二個特點剛才已經(jīng)提到了,它可以幫我們一鍵管理多個容器,同步所有的變更。
  • 可以根據(jù)當(dāng)前的負(fù)載調(diào)整應(yīng)用的副本數(shù),負(fù)載高就新創(chuàng)建幾個應(yīng)用實例,低就降低幾個,這個可以手動或自動完成。

什么時候使用或者不使用 k8s

  • 如果主要還是使用物理機這種低級別的基礎(chǔ)設(shè)施的話,不太建議使用 k8s,這種情況通常是比較傳統(tǒng)的業(yè)務(wù),沒有必要使用 k8s。
  • 第二種情況是如果是小團(tuán)隊,或者容器規(guī)模較小時也不建議使用,除非你想使用 k8s 的滾動發(fā)布和自擴容能力,

不過這些功能運維自己寫工具也能實現(xiàn)。

k8s 有哪些特性

  • 是自我修復(fù),k8s 對容器有著健康檢測,比如使用啟動探針、存活探針等,或者是容器 OOM 后也會重啟應(yīng)用嘗試修復(fù)。
  • 自帶負(fù)載均衡,使用 service 可以將流量自動負(fù)載到后續(xù) Pod 中,如果 Pod 提供的是 http 服務(wù)這個夠用了,但如果是 grpc 這樣的長鏈接,就需要使用 istio 這類服務(wù)網(wǎng)格,他可以識別出協(xié)議類型,從而做到請求級別的負(fù)載均衡。
  • Operator 自動運維能力:k8s 可以根據(jù)應(yīng)用的運行情況自動調(diào)整當(dāng)前集群的 Pod 數(shù)量、存儲等,拿 Pulsar 舉例,當(dāng)流量激增后自動新增 broker,磁盤不足時自動擴容等。
  • 滾動更新能力:當(dāng)我們發(fā)版或者是回滾版本的時候,k8s 會等待新的容器啟動之后才會將流量切回來,同時逐步停止老的實例。
  • 水平擴展能力:可以靈活的新增或者是減少副本的數(shù)量,當(dāng)然也可以自動控制。
  • 數(shù)據(jù)加密:使用 secret 可以保存一些敏感的配置或者文件。

k8s 有著哪些對象

這個就是考察我們對 k8s 是否是熟悉了,常用的有:

  • Pod
  • Service
  • ReplicationController
  • DaemonSet
  • namespace
  • ConfigMap 這個其實知道沒有太多作用,主要還是得知道在不同場景如何使用不同的組件。

哪些字段是必須的

這個問題我也覺得意義不大,只要寫過 yaml 就會知道了,metadata, kind, apiVersion。

apiVersion: apps/v1  
kind: Deployment  
metadata:  
  labels:  
    app: app
  name: app

kubectl 是什么

其實就是一個 k8s 的 命令行客戶端。

當(dāng)你部署應(yīng)用的時候哪些對象用的比較多

  • 第一個肯定是 deployment,這應(yīng)該是最常見的部署方式。
  • service: 可以將流量負(fù)載到 Pod 中。
  • Ingress: 如果需要從集群外訪問 Pod 就得需要 Ingress 然后 配合域名訪問。

為什么沒有 k get containers 這個命令

這個問題主要是看對 Pod 的理解,因為在 k8s 中 Pod 就是最小的單位了,如果想要訪問容器可以在 Pod 中訪問。

我們可以加上 -c 參數(shù)進(jìn)入具體的容器。

kubectl exec -it app -c istio-proxy

你認(rèn)為使用使用 k8s 的最佳實踐是什么

這個主要是看日常使用時有沒有遇到什么坑了:

  • 第一個就是要驗證 yaml 內(nèi)容是否正確,這個確實很重要,一旦執(zhí)行錯了后果很嚴(yán)重,比如使用 helm 的時候最好豈容 dry-run 和 debug,先看看生成的 yaml 是否是預(yù)期想要的。

helm upgrade app --dry-run --debug

  • 第二個限制資源的使用,比如 CPU 和 內(nèi)存,這個也很重要,如果不設(shè)置一旦應(yīng)用出現(xiàn) bug 可能導(dǎo)致整個 k8s 集群都受到影響。
  • 為 Pod,deployment 指定標(biāo)簽,用于分組。
# 資源限制
resources:  
  limits:  
    cpu: 200m  
    memory: 200Mi  
  requests:  
    cpu: 100m  
    memory: 100Mi

參考來源:https://github.com/bregman-arie/devops-exercises/blob/master/topics/kubernetes/README.md#kubernetes-101。

責(zé)任編輯:姜華 來源: crossoverJie
相關(guān)推薦

2009-06-02 15:11:11

Hibernate面試題查詢

2015-09-29 09:24:22

Node.js面試題

2011-05-18 13:36:23

DBA

2025-04-07 08:00:00

KubernetesK8Spod

2021-01-14 05:12:19

Http協(xié)議面試

2009-06-16 14:03:16

Hibernate面試Hibernate面試

2025-03-11 06:28:21

2021-07-16 10:20:56

Linux 硬鏈接Linux 系統(tǒng)

2023-07-25 16:55:15

Linuxinode

2018-01-26 14:39:55

Nginx網(wǎng)頁服務(wù)器

2011-03-29 14:31:41

CC++

2018-09-11 10:04:27

程序員面試數(shù)據(jù)結(jié)構(gòu)

2024-09-26 10:10:00

MyBatis數(shù)據(jù)庫

2021-05-08 14:20:27

Redis面試數(shù)據(jù)庫

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2020-07-30 09:10:21

DockerK8s容器

2018-09-04 11:10:31

Python編程語言面試

2022-12-27 14:18:45

K8S命令

2025-02-27 08:09:52

2022-11-02 10:21:41

K8s pod運維
點贊
收藏

51CTO技術(shù)棧公眾號