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
python-redis
使用python操作Redis 安装 1pip install redis 简单使用 12345678from redis import Redis# 实例化,创建连接conn = Redis("127.0.0.1",6379,)# 设置keyconn.set("key1","123")# 取值ret = conn.get("key1")print(ret) 使用连接池 1234567import redis# 创建redis连接池pool = redis.ConnectionPool(host="127.0.0.1",port=6379,max_connections=100)# 从池中获取一个连接conn = redis.Redis(connection_pool=pool)ret = conn.get("key1")print(ret) 1 String方法 在内存中按照一个name对应一个value来存储。 set 存储一条数据。 1def set(self, name, value, ex=None, px=None, nx=False, xx=False, keept ...
Flask框架
Flask 一、介绍和安装 Flask是一个基于WSGI协议的轻量级web框架,它使用起来非常简单且快捷,并且有能力扩展到开发大型项目。它基于 Werkzeug and Jinja 开发,已经成为目前流行的Python web应用程序框架之一。Flask为开发者提供了一些建议,但是并不会强制依赖某些布局,由开发人员自己来选择他们想要使用的工具和库。在社区提供了许多Flask的扩展包,这使添加新功能变得容易。 参考文档:官方文档,中文文档 参考文章:https://www.cnblogs.com/wupeiqi/articles/7552008.html 源码:GitHub 安装: 1pip install flask 二、基本使用 1 flask初识 先创建一个最简单的Flask应用 1234567891011121314# 导入Flask类from flask import Flask# 创建一个该类的对象。第一个参数是应用模块或者包的名称。# __name__ 是一个适用于大多数情况的快捷方式。有了这个参数, Flask 才能知道在哪里可以找到模板和静态文件等东西。app = F ...