目录
1,k8s的Service的作用?
Service(服务)是分布式集群架构的核心,代理Pod集合对外表现是为一个访问入口(Pod重启IP会变,使pod内外通信变难),Service的Endpoint列表通常绑定了一组相同配置的pod,通过负载均衡的方式把外界请求分配到多个pod上
2,pod容器对外服务的方式
ClusterIP:默认的方式,通过集群IP来对外提供服务,这种方式只能在集群内部访问。
NodePort:利用NAT技术在Node的指定端口上提供对外服务。外部应用通过”端口”的方式访问。
LoadBalancer:利用外部的负载均衡设施进行服务的访问。
ExternalName:是1.7版本之后 kube-dns 提供的功能。
3,service的server对象的特征
- 有一个唯一特定的名称
- 拥有一个虚拟IP(Cluster IP、Service IP或VIP)和端口号
- 能够提供某种远程服务能力
- 可以被映射到了提供这种服务能力的一组容器应用上(pod)
4,deployment的更新升级策略有哪些
- recreate重建更新:杀掉所有运行的pod,重新创建pod
- Rollingupdate滚动更新:以滚动更新的方式来逐个更新pod;maxUnavailable、maxSurge来控制更新的过程
5,说明PV与PVC
PV 相当于磁盘分区
PVC 相当于磁盘请求
6,pv的访问模式
- RWO(ReadWriteOnce)只允许单个节点以读写的方式挂载
- ROX(ReadOnlyMany)可以被多节点以只读方式挂载
- RWX(ReadWriteMany)可被多节点以读写方式挂载
7,pv的回收策略有哪几种
- retain:保留,删除PVC时,pv仍然存在,被视为已释放,管理员可手动回收资源
- Delect:删除,删除PVC时会同时删除PV
- Recycle:回收,对卷执行rm -rf清理该PV,并使其可用于下一个新的PVC,但是本策略将来会被弃用
8,在pv的生命周期中,一般有几种状态
Available(可用)表示pv已经创建正常,处于可用状态;
Bound(已绑定)表示pv已经被某个pvc绑定,注意,一个pv一旦被某个pvc绑定,那么该pvc就独占该pv,其他pvc不能再与该pv绑定;
Released(已释放)表示pvc被删除了,pv状态就会变成已释放;
Failed(失败)表示pv的自动回收失败;
9,简述k8s中的PV与PVC
PV是对底层网络共享存储的抽象,将共享存储定义为一种资源;
PVC是用户对存储资源的一个“申请”;
10,简述PV与PVC的区别
pv是定义存储得具体信息,pvc是指定谁来使用某个pv
PV(Persistent Volume)和PVC(Persistent Volume Claim)都是用于持久化存储的概念。PV和PVC的使用能够提高存储资源的利用率和灵活性,同时避免了数据丢失的风险。
PV:在集群中预先定义的存储资源,可以是物理存储设备、网络存储设备、分布式存储系统等。PV由管理员创建,然后由开发人员使用。
-PV的类型包括:
-静态PV:对特定的存储设备,由管理员在集群中创建并配置参数,供开发人员使用。
-动态PV:对应一组存储设备,由管理员配置存储系统的API Server和存储类别,开发人员使用PVC请求时,Kubernetes会自动创建一个PV并与PVC绑定。
PVC:开发人员在Kubernetes中声明需要的存储资源的请求,Kubernetes会自动分配一个PV给这个PVC。PVC由开发人员创建,然后由管理员进行分配。
-PVC的类型包括:
-普通PVC:请求具有特定容量和访问模式的存储资源。
-带存储类别的PVC:请求具有特定容量、访问模式和存储类别的存储资源。
简单来说,PV是集群中的存储资源,而PVC是对PV的请求,它们之间通过绑定来实现关联。PVC可以请求特定的存储容量、访问模式和存储类别等。
在使用Kubernetes进行应用部署时,可以使用PVC来实现存储的持久化。通过使用PV和PVC,开发人员可以将应用程序与存储资源分离,从而提高应用程序的可移植性和可靠性。
11,yaml语法的基本语法规则
1、大小写敏感
2、使用缩进表示层级关系
3、缩进时不允许使用 Tab 键,只允许使用空格。
4、缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
5、#表示注释,从这个字符一直到行尾,都会被解析器忽略。
6、在 yaml 里面,连续的项目(如:数组元素、集合元素)通过减号“-”来表示,map 结构里面的键值对(key/value)用冒号“:”来分割。
7、字符后缩进 1 个空格,如冒号、逗号等
12,创建pod时拉取镜像的三种策略
ifNotPresent:镜像在宿主机上不存在时才拉取
always: 每次创建pod都会重新拉取一次镜像
never: Pod永远不会主动去拉取镜像
13,健康检查(probe)的类型
Livenessprobe:如果检查失败,就杀死容器,根据pod的restartPolicy(重启策略)来操作
readinessProbe:如果检查失败,Kubernetes会把Pod从service endpoints中剔除。
14,健康检查(probe)的方法
httpGet:发送HTTP请求,返回200-399范围状态码为成功。
Exec:执行Shell命令返回状态码是0为成功。
tcpSocket:发起TCP Socket建立成功。