k8s 面试题(山月)
helm v3 中为什么要弃用 tiller
Issue
欢迎在 Gtihub Issue 中回答此问题: Issue 13(opens new window)
Author
回答者: shfshanyue(opens new window)
helm
v2 中,helm client
通过 gRPC 把 Chart
交给 tiller
。tiller
是 k8s 中的一个 pod
,在 k8s
集群中根据 Chart
以及配置信息部署资源,架构图如下
这有一个问题,tiller
有一个最高权限的 RBAC,而运维,开发众多权限不同的人都可以通过 tiller
这个最高权限来部署新的应用,会产生相应的安全问题。
于是,helm v3
去掉了 tiller
,它的权限控制基于操作人员的 kubeconfig
k8s 由那些组件组成
Issue
欢迎在 Gtihub Issue 中回答此问题: Issue 41(opens new window)
k8s 中的 QoS 有哪几种类型
Issue
欢迎在 Gtihub Issue 中回答此问题: Issue 96(opens new window)
Author
回答者: shfshanyue(opens new window)
参考官方文档:Configure Quality of Service for Pods (opens new window),总结如下
有三种类型 Guaranteed
,Burstable
与 BestEffort
Guaranteed
- Pod 里的每个容器都必须有内存
resources.limits
和resources.requests
,而且必须是一样的 - Pod 里的每个容器都必须有 CPU
resources.limits
和resources.requests
,而且必须是一样的
- Pod 里的每个容器都必须有内存
Burstable
- Pod 里至少有一个容器有内存或者 CPU
resources.requests
- Pod 里至少有一个容器有内存或者 CPU
BestEffort
- 不设置
resources.requests
和resources.limits
- 不设置
在 k8s 中如何自定义 CRD 资源
Issue
欢迎在 Gtihub Issue 中回答此问题: Issue 305(opens new window)
service mesh 是什么,能够解决什么问题
Issue
欢迎在 Gtihub Issue 中回答此问题: Issue 306(opens new window)
在 k8s 中如何通过日志查看某条请求进入的 pod
Issue
欢迎在 Gtihub Issue 中回答此问题: Issue 325(opens new window)
k8s 中如何删除所有 Evicted 状态的 pod
Issue
欢迎在 Gtihub Issue 中回答此问题: Issue 355(opens new window)
Author
回答者: shfshanyue(opens new window)
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
cert-manager-5d8fd69d88-4nxw5 1/1 Running 0 63d
cert-manager-5d8fd69d88-f7f2w 0/1 Evicted 0 63d
cert-manager-5d8fd69d88-mpgqq 0/1 Evicted 0 63d
cert-manager-5d8fd69d88-s7dtg 0/1 Evicted 0 232d
cert-manager-5d8fd69d88-vdmrx 0/1 Evicted 0 63d
cert-manager-5d8fd69d88-zlpv4 0/1 Evicted 0 63d
cert-manager-cainjector-755bbf9c6b-455nm 0/1 Evicted 0 63d
可通过 kubectl get pods
来找到 Evicted
状态的 POD,通过 awk
和 kubectl delete pod
选中目标 pod 并删除,命令如下
$ kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod
Author
回答者: wi1dcard(opens new window)
kubectl delete po --field-selector status.phase=Evicted
更加精确。
k8s 中 Deployment 与 StatefulSet 有什么区别
Issue
欢迎在 Gtihub Issue 中回答此问题: Issue 356(opens new window)