摘要:为什么要使用Elasticsearch?​ 因为在我们中的数据,会随着时间变的非常多,若采用以往的模糊查询,模糊查询前置通配符,如:"%aa%",会放弃索引,导致数据表查询将变成全表扫描,在百万级别的数据库中,效率非常低下,而我们使用ES做一个全文索引,我们就可以将经常查询的数据字段,比如说商品名, 阅读全文
posted @ 2019-08-02 23:44 张朝锋 阅读(1678) 评论(0) 推荐(0) 编辑
摘要:Helm: helm就相当于Linux的包管理工具yum,但它管理的程序包是一些打包好的清单文件。 其核心术语: Chart:一个helm程序包,它里面可理解为,包含了一下定义Pod的清单文件,这些清单包含Service,Deployment,DaemonSet,ReplicaSet,Statefu 阅读全文
posted @ 2019-08-02 21:26 张朝锋 阅读(1572) 评论(0) 推荐(0) 编辑
摘要:在K8s中定义Pod中运行容器有两个维度的限制: 1. 资源需求:即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。 如: Pod运行至少需要2G内存,1核CPU 2. 资源限额:即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。 需要注意: 目前k8s在对 阅读全文
posted @ 2019-08-02 21:08 张朝锋 阅读(14823) 评论(0) 推荐(0) 编辑
摘要:调度器选择策略: 预选策略(Predicate) 1. 根据运行Pod的资源限制来排除不符合要求的Node 2. 根据运行Pod时,是否要求共享宿主机的网络名称空间来判断,如: 某Pod启动要共享宿主机的网络名称空间,启动80端口,而某些Node的80已经被占用,那它就不符合,就也要不排除。 优选策 阅读全文
posted @ 2019-08-02 19:17 张朝锋 阅读(1023) 评论(0) 推荐(0) 编辑
摘要:Kubernetes的网络通信问题: 1. 容器间通信: 即同一个Pod内多个容器间通信,通常使用loopback来实现。 2. Pod间通信: K8s要求,Pod和Pod之间通信必须使用Pod-IP 直接访问另一个Pod-IP 3. Pod与Service通信: 即PodIP去访问ClusterI 阅读全文
posted @ 2019-08-02 18:00 张朝锋 阅读(2326) 评论(0) 推荐(0) 编辑
摘要:kubernetes认证,授权概括总结: RBAC简明总结摘要:API Server认证授权过程: subject(主体) >认证 >授权【action(可做什么)】 >准入控制【Object(能对那些资源对象做操作)】 认证: 有多种方式,比较常用的:token,tls,user/password 阅读全文
posted @ 2019-08-02 17:09 张朝锋 阅读(4052) 评论(0) 推荐(0) 编辑
摘要:StatefulSet:在1.3以前K8s中StatefulSet叫PetSet(宠物集),由此也可看出StatefulSet是关注个体,而非群体。 StatefulSet要满足以下几点: 稳定且唯一的网络标识符; 如: Redis集群, 在Redis集群中,它是通过槽位来存储数据的,假如:第一个节 阅读全文
posted @ 2019-08-02 15:59 张朝锋 阅读(3465) 评论(0) 推荐(0) 编辑
摘要:给容器内应用程序传递参数的实现方式: 1. 将配置文件直接打包到镜像中,但这种方式不推荐使用,因为修改配置不够灵活。 2. 通过定义Pod清单时,指定自定义命令行参数,即设定 args:["命令参数"],这种也 可在启动Pod时,传参来修改Pod的应用程序的配置文件. 3. 使用环境变量来给Pod中 阅读全文
posted @ 2019-08-02 15:34 张朝锋 阅读(19192) 评论(0) 推荐(0) 编辑
摘要:K8s的存储卷: 它有四种存储卷: 1. emptyDir: 空目录,这种存储卷会随着Pod的删除而被清空,它一般作为缓存目录使用,或临时目录, 当做缓存目录时,通常会将一块内存空间映射到该目录上,让Pod做为缓存目录使用。 2. hostPath SAN(存储区域网络): iSCSI,FB NAS 阅读全文
posted @ 2019-08-02 15:08 张朝锋 阅读(5798) 评论(0) 推荐(1) 编辑
摘要:Service的工作方式有三种: 第一种: 是Userspace方式 如下图描述, Client Pod要访问Server Pod时,它先将请求发给本机内核空间中的service规则,由它再将请求, 转给监听在指定套接字上的kube-proxy,kube-proxy处理完请求,并分发请求到指定Ser 阅读全文
posted @ 2019-08-02 13:47 张朝锋 阅读(22988) 评论(0) 推荐(0) 编辑
摘要:灰度发布在实际生产部署中是经常被使用的方式,常规的方法是手动从前端LB(负载均衡)上将后端服务器摘掉,然后,停服务,最后上传代码,完成软连接更新。在使用CI/CD工具时,这个过程变得自动化了,我们只需要通过Jenkins这个功能强大的开源持续集成和部署工具,就可以联合Gitlab 或 Gogs 来实 阅读全文
posted @ 2019-08-02 12:23 张朝锋 阅读(2573) 评论(0) 推荐(0) 编辑
摘要:Pod控制器: ReplicationController:早期K8s只有这一个控制器,但后来发现让这一个来完成所有任务,太复杂.因此被废弃. ReplicaSet: 它用于帮助用户创建指定数量的Pod副本,并确保Pod副本数量一直满足用户期望的副本数量。 副本数量"多退少补"等机制。【它可认为就是 阅读全文
posted @ 2019-08-02 12:09 张朝锋 阅读(1109) 评论(0) 推荐(0) 编辑
摘要:下面介绍使用Kubeasz部署K8s集群环境。 https://github.com/easzlab/kubeasz在需要使用kubeeasz项目安装的k8s时,需要将所有需要它来部署的节点上,都安装python2.7,最新的kubeeasz可能已经支持python3了,这个要具体查看说明。另外 , 阅读全文
posted @ 2019-08-02 11:02 张朝锋 阅读(1484) 评论(0) 推荐(0) 编辑