Kubernetes-服务
五、服务 假设现在通过Deployment部署了一些pod,这些pod是一些网络服务,即它们需要根据外部请求做出响应(比如这些pod提供了网上商城的服务)。如果是传统部署,只需要在配置文件中明确指出服务器的IP地址或者域名即可被外界访问,但是在k8s中不可以,因为: pod存在生命周期,它们是短暂的,它们会根据系统的各种情况被删除,然后再次重建 k8s在启动前会给调度到节点上的pod分配IP地址,因此客户端不能提前知道pod的IP地址 多个pod可能提供同一个服务,每个pod都有自己的IP地址,但客户端的访问只需要一个固定的IP地址 为了解决以上问题,k8s提供了一种资源——Service(服务),简称为svc。 1 基础概念 Kubernetes的服务是一种为一组功能相同的pod提供单一不变的接入点的资源。当服务存在时,它的IP地址和端口不会改变。客户端通过这个IP地址和端口号建立连接,这些连接会被路由到提供该服务的任意一个pod上。前端客户端不应该也没必要知道每个单独的提供服务的pod的地址,这样这些pod就可以在集群中随时被创建或移除。 举个例子,一个应用分为两部分,有很多p ...
Kubernetes-介绍
一、介绍 1 Kubernetes的发展和基础概念介绍 如今,大型单体应用正被逐渐分解成小的、可独立运行的组件,我们称之为微服务。微服务彼此之间解耦, 所以它们可以被独立开发、部署、升级、伸缩。这使得我们可以对每一个微服务实现快速迭代, 并且迭代的速度可以和市场需求变化的速度保持一致。但随着部署组件的增多和数据中心的增长,配置、管理并保持系统的正常运行变得越来越困难,我们需要一些自动化的措施,包括自动调度、配置、监管和故障处理。这正是Kubernetes的用武之地。 Kubernetes 简称 K8S,是google公司2014年对外开源的一个容器集群管理系统,它可以帮助你轻松部署和管理容器化的应用。随着容器平台的逐渐发展,多机容器编排的需求也逐渐增长,当一个公司拥有成千上万台机器时,一个优秀的容器编排系统可以帮助提升基础设施的利用率,变相地为公司节省了数百万美元。Kubernetes 提供了完善的管理工具,这些工具涵盖了开发、部署测试、运维监控在内的各个环节。Kubernetes具有完备的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、 ...
Kubernetes-资源控制器
四、资源控制器 pod分为两种类型: 自主式pod:如果pod退出,不会被重新创建 控制器管理的pod:如果pod退出,资源控制器会注意到缺少了pod并重建替代pod,以维持设定的pod副本数目 在第三章中创建的pod都是自主式pod。下面介绍控制器管理的pod,控制器有很多类型: ReplicationController 和 ReplicaSet Deployment DaemonSet StateFulSet Job/CronJob Horizontal Pod Autoscaling 1 ReplicationController和ReplicaSet 1.1 ReplicationController ReplicationController可确保它管理的pod始终保持运行状态。如果pod因任何原因消失(例如节点从集群中消失或由于该pod已从节点中逐出),则ReplicationController会注意到缺少了pod并创建替代pod,确保容器应用的副本数始终保持在用户定义的副本数,而如果异常多出来的容器也会自动回收。 RC的控制流程如下图所示: RC有三个主要部 ...
Kubernetes-Pod
三、Pod 1 基础介绍 我们在上一章成功搭建了k8s集群并运行了一个应用,你可能想通过一个命令显示所有正在运行的容器,就像docker ps一样,但这并不是Kubernetes的工作。Kubernetes不直接处理单个容器,而是通过pod管理一组容器。 一个pod可以包含多个和单个容器。pod将容器绑定在一起,并将它们作为一个单元进行管理。这些容器彼此是紧密相关的,一个pod中的容器共享相同的linux命名空间、IP和网络接口。 列出pod命令 1234kubectl get pods# 返回结果NAME READY STATUS RESTARTS AGEnginx-deployment-9b8d7cb9b-8z7ff 1/1 Running 1 5h 可以看到pod已经处于运行状态。如果想查看pod的详细信息,使用 1kubectl describe pod [pod名] 你可能想知道应用运行在哪个节点上,其实这并不重要,k8s会自动调度一个可供运行pod的节点,可以使用 ...
Kubernetes-集群搭建
二、集群搭建 安装所需的软件和工具下载链接,提取码:6yvy 1 准备工作 我们需要搭建一个三个节点的集群,一个harbor用于搭建私有仓库。 master节点物理配置:100G存储,2G内存,4核心CPU node节点物理配置:100G存储,4G内存,4核心CPU harbor节点物理配置:100G存储,2G内存,2核心CPU 网络均选择NAT模式 2 网络配置 我们为每个节点分配的网络如下 网段:192.168.142.0 网关:192.168.142.2 master:192.168.142.20 node-1:192.168.142.21 node-2:192.168.142.22 harbor:192.168.142.100 NAT网络配置如下 接下来进行网络配置,使虚拟机能连接到物理机。进入linux网络配置目录: 1cd /etc/sysconfig/network-scripts 2.1 master网络配置 2.2 node-1网络配置 2.3 node-2网络配置 所有的机器配置完后需要重启网络服务 1service network restart 2. ...
Elasticsearch
Elasticsearch 一、介绍 1 Elasticsearch介绍 当项目的数据规模极大时,数据检索会面临很多问题,比如数据库的选型,如何保证数据安全性,如何定位故障等等,这些就是 Elasticsearch的产生原因。 Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、RESTful 风格的搜索和数据分析引擎,具有HTTP Web接口和无模式JSON文档。Elasticsearch是用Java开发的,并在Apache许可证下作为开源软件发布。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。 就 Elasticsearch 而言,起步很简单。对于初学者来说,它预设了一些适当的默认值,并隐藏了复杂的搜索理论知识。 它开箱即用。只需最少的理解,你很快就能具有生产力。 2 solr介绍 Solr(读作“solar”)是Apache Lucene项目的开源企业搜索平台,基于java开发。其 ...
关于md文档的锚点设置
关于md文档的锚点设置 写文章时可能需要设置锚点做快速跳转,但是md格式没有合适的锚点语法。一般是借用html来实现: 设置锚点 12<font id="foo">设置锚点</font><!--id随便设置,不重复即可--> 跳转到指定锚点: 1<a href="#foo">点击这里跳转</a> 下面是演示: 123456789101112131415161718192021222324252627282930313233假设中间有很长的内容...假设中间有很长的内容... 点击这里跳转
Redis其它
Redis其它 1 slowlog慢查询日志 redis和mysql等数据库一样,提供了慢查询日志,简单说就是redis将查询执行时间超过设定值的命令记录下来。查询执行时间指的是不包括像客户端响应(talking)、发送回复等 IO 操作,而单单是执行一个查询命令所耗费的时间。另外,slowlog 保存在内存里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启 slowlog 而损害 Redis 的速度。 关于 Redis 慢查询的配置有两个,默认配置文件的相关部分如下: 12345678910111213################################## SLOW LOG #################################### The following time is expressed in microseconds, so 1000000 is equivalent# to one second. Note that a negative number disables the slow log, while# a value of ...
Redis基础
Redis基础 1 Redis是什么 是一个key-value存储系统,是跨平台的非关系型数据库。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。 Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。 官方网址 GitHub 2 Redis特性 速度快:数据存在内存中(主要原因)、每秒10w读写、c语言实现、单线程模型 持久化:rdb和aof 多种数据结构: 5大数据结构 BitMaps位图:布隆过滤器 本质是 字符串 HyperLogLog:超小内存唯一值计数,12kb HyperLogLog 本质是 字符串 GEO:地理信息定位 本质是有序集合 支持多种编程语言:基于tcp通信协议,各大编程语言都支持 功能丰富:发布订阅(消息) Lua脚本,事务(pipeline) 简单:源代码几万行,不依赖外部库 主从复制:主服务器 ...
Redis
一、redis基础 二、redis其它 三、python-redis