Docker的优点?
- 缩减部署过程及可移植性
- 环境标准化
- 软件升级及版本控制
- 隔离性
k8s是什么?
Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。
通过Kubernetes可以:
- 快速部署应用
- 快速扩展应用
- 无缝对接新的应用功能
- 节省资源,优化硬件资源的使用
k8s中pod是什么?
在Kubernetes中,最小的管理元素不是一个个独立的容器,而是Pod。
Pod是最小的,管理,创建,计划的最小单元。
一个Pod是一个容器环境下的“逻辑主机”。
k8s中pv、pvc是什么?
- PersistentVolume(PV)是集群中已由管理员配置的一段网络存储。
- PersistentVolumeClaim(PVC)是用户存储的请求。
k8s中ep的作用?
ep(endpoint)为了访问集群外独立的服务,比如mysql、mongo等
etcd?
etcd是使用Go语言开发的一个开源的、高可用的分布式key-value存储系统,可以用于配置共享和服务的注册和发现。
etcd具有以下特点:
- 完全复制:集群中的每个节点都可以使用完整的存档
- 高可用性:Etcd可用于避免硬件的单点故障或网络问题
- 一致性:每次读取都会返回跨多主机的最新写入
- 简单:包括一个定义良好、面向用户的API(gRPC)
- 安全:实现了带有可选的客户端证书身份验证的自动化TLS
- 快速:每秒10000次写入的基准速度
- 可靠:使用Raft算法实现了强一致、高可用的服务存储目录
etcd应用场景
- 服务发现
- 配置中心
- 分布式锁
k8s中configmap作用?
- ConfigMap用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件。
- ConfigMap可以通过多种方式在Pod中使用,比如设置环境变量、设置容器命令行参数、在Volume中创建配置文件等。
微服务该部署在master节点还是node节点?
在master节点去操作,部署到哪个节点是k8s去分配的
kubectl有那些常用命令?
- kubectl get:获取资源对象
- kubectl delete:删除资源对象
- kubectl logs:用于将容器中的日志导出。