kubernetes 概念性问题

1.kubernetes是什么

Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能

2.kubernetes好处

3.kubernetes特点

4.kubernetes能做啥

  • 可以在物理或虚拟机的Kubernetes集群上运行容器化应用,Kubernetes能提供一个以“容器为中心的基础架构”,满足在生产环境中运行应用的一些常见需求
  • 应用健康检测 负载均衡 滚动更新 资源监控 提供认证和授权
  • 5.kubernetes组成

  • 一个kubernetes集群由分布式存储etcd、node、master组成,状态都存在etcd中
  • master组件: apiserver kubecontrollermanager scheduler docker
  • node组件: docker kubelet kube-proxy
  • 6.kubernetes各组件作用

    7.kubernetes与docker的关系

    8.kubernetes与docker的比较

    9.emptyDir和hostPath在功能上的异同分析

    10.说明何时使用 Init Container

    当我们在运用一个服务之前,通常会做一些初始化的工作,而这些工作一般只需要运行一次,成功后就不再运行。
    特点:仅运行一次,成功后就会退出。
    每个容器必须在成功执行完成后,系统才能继续执行下一个容器。 如果Init Container运行失败,kubernetes 将会重复重启Pod,直到Init Container 成功运行,
    但是如果 Pod的重启策略(restartPolicy)设置为Never,则Pod不会重启。 Init Container支持普通应用Container的所有参数,包括资源限制,挂载卷,安全设置等。
    但是Init Container 在资源的申请和限制上略有不同,同时,由于Init Container必须在Pod ready之前完成并退出,
    所以它不支持 readiness 探针。Init Container 通常有如下应用方式:
    处于安全的考虑,可以将自定义的代码和工具使用Init Container运行,而不必添加到 应用 容器的镜像中;
    应用程序映像的构建和部署者角色可以彼此独立,无需共同构建单个应用程序映像;
    使用不同的Linux命名空间,可以使它们具有来自应用容器的不同文件系统权限。
    因此,Init Container可以获得应用程序容器无法访问的Secrets;Init Container在任何应用程序容器启动之前运行完毕,而应用程序容器通常是并行运行的,
    因此初始容器提供了一种简单的方法来阻止或延迟应用程序容器的启动,直到满足一些前提条件。

    11.k8s 的 pause 容器有什么用

    每个Pod里运行着一个特殊的容器被称之为Pause的容器,其他容器则为业务容器,这些业务容器共享Pause容器的网络栈和Volume挂载卷,因此他们之间通信和数据交换更为高效,在设计时我们可以充分利用这一特性将一组密切相关的服务进程放入同一个Pod中。同一个Pod里的容器之间仅需通过localhost就能互相通信

    12.k8s 的 service 和 ep 是如何关联和相互影响

    k8s会根据service关联到pod的podIP信息组合成一个endpoint。若service定义中没有selector字段,service被创建时,endpoint controller不会自动创建endpoint

    13.service和 ingress 的作用

    14.cgroup 中的 cpu 有哪几种限制方式。k8s 是如何使用实现 request 和 limit

    15.rc/rs 功能是怎么实现的

    ReplicaSet和 Replication Controller之间的唯一区别是现在的选择器支持。Replication Controller只支持基于等式的selector(env=dev或environment!=qa),但ReplicaSet还支持新的,基于集合的selector(version in (v1.0, v2.0)或env notin (dev, qa))。在试用时官方推荐ReplicaSet

    16.deployment/rs 有什么区别

    17.pv pvc

    18.docker可配置网络

    19.pod生命周期

    20.nginx与traefik区别

    21.schuler调度流程

    22.flannel与calico区别

    flannel

    calico

    容器虚拟网络方案

    23.pod创建流程

    创建Pod的流程:

    24.cni作用

    25.docker容器状态

    运行 已暂停 重新启动 已退出