02 2019 档案
摘要:免签名下载安装包实例如下: wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz --no-check-certificate
阅读全文
摘要:参照: https://blog.csdn.net/qq_24189933/article/details/75666243
阅读全文
摘要:windows中安装最新版pycharm--2018年10月的版本 点击创建工程,看下图: C:\Users\Lenovo\PycharmProjects\untitled4 这个路径不要动,一动就出错。其他的路径随便写,
阅读全文
摘要:百度搜索pycharm 然后打开pycharm的官网 然后在官网首页点击down,下载linux版pycharm 上传到linux服务器、解压 然后再打开bin目录 执行:sh ./pycharm.sh 回车 接着就打开了pycharm 点击同意 然后激活pycharm就可以使用了 注册码请参照:https://www.cnblogs.com/effortsing/p/104...
阅读全文
摘要:一、下载PIP 官网地址:https://pypi.org/project/pip/#downloads https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz pip-10.0.1.tar.gz ...
阅读全文
摘要:migrate配置 进入项目manage所在的目录中执行如下命令,否则会报错:no such table: django_session 进入cmd 输入盘符比如:E: 切换目录 cd E:\progect\Firstdjango 执行migrate python manage.py migrate
阅读全文
摘要:19周 11章 django ORM基本创建类型以及生成数据库结构 类型: dbfirst :通过数据库创建类 codefirst:先创建类 再创建数据库 --最常用 ORM的意思: 通过类创建数据库 对数据库操作步骤如下: 1、默认链接 sqlite 如果要链接mysql 需要进行配置: 前提:需要创建mysql数据库:dbname DATABASES = { ...
阅读全文
摘要:连表操作分为以下三种情景: 一对多:models.ForeignKey(其他表) 多对多:models.ManyToManyField(其他表) 一对一:models.OneToOneField(其他表) 应用场景: 一对多:当一张表中创建一行数据时,有一个单选的下拉框(可以被重复选择) 多对多:在某表中创建一行数据是,有一个可以多选的下拉框 一对一:在某表中创建一行数据时,有一个...
阅读全文
摘要:python操作mysql实例 使用ORM模型 SQLAlchemy模式 首先安装所需模块 pip install SQLAlchemy pip install pymysql 本实例使用了名为test的数据库,所以在运行本例之前,要确保test数据库已经存在 2、完整增、删、改、查 实例 from sqlalchemy import create_engine,MetaData,Table,...
阅读全文
摘要:简单的django登录项目 1、首先建立工程,建立工程请参照:https://www.cnblogs.com/effortsing/p/10394511.html 2、在Firstdjango工程项目中手工创建一个文件名为static 3、配置静态目录 在setting.py中找到STATIC_URL配置如下: STATIC_URL = '/static/' STATICFILES_DIRS =...
阅读全文
摘要:文件顺序 简历 面试常问问题 工作中遇到的问题 k8s常可能问的问题 k8s常用命令操作 node节点扩容 k8s项目 docker mycat实现读写分离 elk 防火墙 weblogic12.1.3安装 shell脚本 Python基础 python登录项目 Python操作mysql ansible
阅读全文
摘要:Shell脚本 for循环 cat > a.sh > "/tmp/awk.log"}' development.yaml 打印第三行到第五行,NR表示行 awk 'NR==3,NR==5 {print}' development.yaml 打印文件所有域 awk 'NR==3,NR==5 {print $0}' development.yaml 打印第三行到第五行的第一列和最后一列 awk -F...
阅读全文
摘要:工作中遇到的问题: 1、gitlab挂掉 分析:gitlab服务器没有外网,是通过请求haproxy转发到gitlab上的,查看haproxy端口果然是关闭着的,重启即可解决。至于haproxy是怎么挂掉的,后来查明是由于研发对服务器进行了操作误杀haproxy进程导致。 2、公司打卡app时间和百度时间相差35秒 分析:打卡程序部署在内网服务器,通过外网nginx做转发,对nginx服务器配置...
阅读全文
摘要:面试常问问题: OSI七层网络模型 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 Tcp/ip四层网络模型 应用层(应用层 表示层 会话层、传输层、网络层、数据链路层(数据链路层 物理层) Tomcat启动慢解决 在Tomcat环境中解决 在catalina.sh中加入这么一行: JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom...
阅读全文
摘要:防火墙 firewalld 查看服务是否开机启动:systemctl is-enabled firewalld.service 查看已启动的服务列表:systemctl list-unit-files|grep enabled 查看启动失败的服务列表:systemctl --failed 查看所有打开的端口: firewall-cmd --zone=public --list-ports 更新防...
阅读全文
摘要:weblogic weblogic12.1.3安装 环境: centos7.5 ip: 192.168.0.94 1、安装jdk 2、安装 weblogic 下载、解压安装包 wls1213_dev.zip unzip /application/weblogic12/wls1213_dev.zip mv wls12130 /application/weblogic12/ 配置环境变量 配...
阅读全文
摘要:node节点扩容: 安装docker 部署 kubelet组件 拷贝admin.conf 拷贝bootstrap.conf 安装cni网络插件 拷贝ca.pem 证书,配置kubelet-config.yml文件中参数需要用到 通过csr请求 配置启动kube-proxy
阅读全文
摘要:Python Python的数据类型与数据结构 数据类型分为: 整数型 ;数字的整数 浮点型; 数字带小数 字符串; 用 ‘’ 或者 “” 引用的任意文本 布尔型;只有 True 和 False 数据结构分为:列表 list、元祖 tuple、字典 dict、集合 set ORM 直接使用sql语句虽然方便,但缺点是如果要更换数据库可能还需要修改程序中的Sql语句。为了解决这个问题,出现了OR...
阅读全文
摘要:mycat 实现读写分离 配置mysql实现主从复制 安装jdk 安装mycat实现读写分离 tar zxf Mycat-server-1.6-RELEASE-20161028204710-sangnux.tar.gz -C /usr/local 添加环境变量 新建逻辑库,逻辑表;Mycat默认配置了逻辑库TESTDB,这里配置一个逻辑库USERDB 修改schema.xml新增逻辑库USER...
阅读全文
摘要:k8s常可能问的问题 1、为什么要用k8s 自我修复、pod水平自动伸缩、密钥和配置管理动态对应用进行扩容、缩容 服务发现、负载均衡 1.1、自我修复 比如误删pod后会自动创建,用 kind: ReplicationController 1.2、pod水平自动伸缩 这个功能就是根据CPU的使用情况周期性的调整Pod的副本数量 解释:首先创建HPA kind: HorizontalP...
阅读全文
摘要:K8s常用命令操作 一、kubectl命令补全 1、master安装命令补全,并临时生效 yum install -y bash-completion source /usr/share/bash-completion/bash_completion 2、永久生效 source > ~/.bashrc 二、master相关组件 kube-apiserver kube-controller-...
阅读全文
摘要:1、ELK经典架构 Logstash部署至服务主机,对各个服务的日志进行采集、过滤、推送。 Elasticsearch存储Logstash传送的结构化数据,提供给Kibana。 Kibana提供用户web页面进行数据展示和分析形成图表等 由于Logstash消耗资源大,而服务器资源相当宝贵,所以引进另一个轻量级日志采集框架Beats,其中有Filebeat ,Filebeat用于搜集文件数据 ...
阅读全文
摘要:Docker 启动一个容器 docker run -d -p 8085:8081 --restart=always --name nexus3 sonatype/nexus3 #注意8081是服务真实的端口 过滤某个容器:docker ps -a | grep mynginx 启动已有的容器:docker start 3ec6e022d3ec 只看最后一个容器:docker ps -l 进入容器...
阅读全文
摘要:ansible 安装ansible :yum install -y ansible 查看版本:ansible --version 配置ssh免密登录:ssh-keygen -t rsa -f /root/.ssh/id_rsa -P "" 配置主机组:如果没有ansible目录创建即可,touch /etc/ansible/hosts 配置ansible配置文件:touch /etc/ansib...
阅读全文
摘要:简单的django登录项目 1、首先建立工程,建立工程请参照:https://www.cnblogs.com/effortsing/p/10394511.html 2、在Firstdjango工程项目中手工创建一个文件名为static 3、配置静态目录 在setting.py中找到STATIC_URL配置如下: STATIC_URL = '/static/' STATICFILES_...
阅读全文
摘要:Iptables防火墙规则 iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux运维工作中,经常会设置iptables防火墙规则,用来加固服务安全。以下对iptables的规则使用做了总结性梳理: iptables首先需要了解...
阅读全文
摘要:1、elk收集tomcat普通日志: 只在logstash节点增加如下文件,重启logstash即可: cat >>/home/logstash-6.3.0/config/tomcat_test.conf ["/usr/local/tomcat/logs/localhost_access_log.2019-02-12.txt"] type => "tomcat_log" ...
阅读全文
摘要:先右键要重命名的文件,然后按照下图操作:
阅读全文
摘要:简单的django登录项目 1、首先建立工程,建立工程请参照:https://www.cnblogs.com/effortsing/p/10394511.html 2、在Firstdjango工程项目中手工创建一个文件名为static 3、配置静态目录 在setting.py中找到STATIC_URL配置如下: STATIC_URL = '/static/' STATICFILES...
阅读全文
摘要:静态文件----提交表单 本例在static目录中建立了一个from.html静态页面,该页面有一个标签,用于向服务端提交POST请求,然后在post.py脚本文件中添加一个路由方法,用于处理HTTP POST请求, 并返回请求字段值。 本实例涉及一个CSRF校验的问题,CSRF是Cross-site request forgery(跨站请求伪造)的缩写,CSRF校验就是为了防止CSRF攻...
阅读全文
摘要:一、Django中使用Bootstrap 1、首先建立工程,建立工程请参照:https://www.cnblogs.com/effortsing/p/10394511.html 2、在Firstdjango工程项目中手工创建一个文件名为static 3、配置静态目录 在setting.py中找到STATIC_URL配置如下: STATIC_URL = '/static/' STATI...
阅读全文
摘要:过滤器 通过django的过滤器可以在无须编码的情况下完成一些基本工作,比如字母的大小写转换、日期转换、获取字符串的长度。过滤器要放到标签的标识符后面,中间用竖杠(|)分隔, 如下面的过滤器把name标识符的值中所有的英文字母转换为大小写 {{ name|upper }} 本例在templates目录中建立了一个django模板文件(filter.html),该文件会通过一些过滤器进一步...
阅读全文
摘要:循环控制标签 在django模板中可以通过循环控制标签对列表进行迭代,循环控制标签又称for标签,语法格式如下: {% for value in value_list %} {{ value }} {% endfor %} 本例在template目录中建立一个django模板文件(for.html),该模板文件会使用for标签对一个列表进行迭代,并输出列表中每一个元素的name属性...
阅读全文
摘要:条件控制标签 在django模板中可以通过条件控制标签进行逻辑控制,条件控制标签的语法如下: {% if condition1 %} ... {% elif condition2 %} ... {% else %} ... {% endif %} 其中elif和else部分都可以没有,这与python的if语句相同,condition1、condition2是条件表...
阅读全文
摘要:Django模板 我们已经知道,模板函数的函数的返回值就是返回给客户端的数据,但如果返回数据很复杂,如果一个非常大的html页面,直接将页面代码固化在python脚本文件中是不合适的,当然 也可以将html页面代码放到一个文件中,然后通过open函数或其他API读取文件内容。这是一种非常好的方式,不过这些功能已经被django封装了。 djaogo模板就是django内建的模板,无须单独安...
阅读全文
摘要:VMware虚拟机已升级至14版本,之前的12版本的秘钥已经无法使用,在此分享一下VMware Workstation 14永久激活密钥: CG54H-D8D0H-H8DHY-C6X7X-N2KG6 ZC3WK-AFXEK-488JP-A7MQX-XL8YF AC5XK-0ZD4H-088HP-9NQZV-ZG2R4 ZC5XK-A6E0M-080XQ-04ZZG-YF08D ZY5H0...
阅读全文
摘要:pip安装软件报错 utf-8 code can't decode byte 0xcf in position7 根据错误提示的路径找到__init__.py文件 根据错误提示的最后几句话找到对应的行数,将’utf-8’修改为’gbk’即可,如下所示if sys.version_info >= (3,): def console_to_str(s): try: ...
阅读全文
摘要:静态文件----提交表单 本例在static目录中建立了一个from.html静态页面,该页面有一个标签,用于向服务端提交POST请求,然后在post.py脚本文件中添加一个路由方法,用于处理HTTP POST请求, 并返回请求字段值。 本实例涉及一个CSRF校验的问题,CSRF是Cross-site request forgery(跨站请求伪造)的缩写,CSRF校验就是为了防止CSRF攻...
阅读全文
摘要:python装饰器作用 python装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能 完整的装饰器: import time def timmer(func): def deco(): start_time=time.time() f...
阅读全文
摘要:静态文件---访问图片 1、在Firstdjango工程项目中手工创建一个文件名为static,如下图所示 2、百度上下载一个.jpg的风景图片,重命名为test,从E盘中找到工程的路径,放到static目录下 3、配置静态目录 在setting.py中找到STATIC_URL配置如下: STATIC_URL = '/static/' STATICFILES_DIRS = ( ...
阅读全文
摘要:用户登录 本节利用Session实现一个用户登录的实例,这也是典型的Session实例,实现的基本原理是当登录成功后,会将用户名以及其他相关信息写入session。如果用户再用同一个 浏览器访问web应用,就会从与客户端对应的session中重新获取用户名和其他相关信息,这也表明用户处于登录状态,所以当用户第二次访问该web应用时,除非session过期 否则无须登录 本例使用logi...
阅读全文
摘要:读写Session Session是保存在服务端的字典 Session与Cookie有些类似,都是通过字典管理key-value对,只不过Cookie是保存在客户端的字典,而Session是保存在服务端的字典。Session可以在服务端使用多种存在方式, 默认一般存储在内存中,一旦web服务重启,所有保存在内存中的Session就会消失。为了让Session即使在web服务器重启后仍然能够...
阅读全文
摘要:1、进入cmd 2、输入盘符比如:E: 3、切换目录 cd E:\progect\Firstdjango 实例:
阅读全文
摘要:Response 与 Cookie Web服务器要完成的任务的最后一步就是向客户端返回数据。如果客户端是浏览器,那么返回的数据通常是HTML、JS、CSS或者其他类型的代码。Cookie是保存在客户端的字典 当客户端浏览器向服务端发送数据时,将保存在客户端本地的Cookie通过HTTP请求头发送给服务端,然后服务端发送给客户端。 本例通过writeCooki函数写入了两个Cooki值,然...
阅读全文
摘要:处理HTTP请求 当客户端浏览器通过URL访问web应用时,首先要做的就是获取用户提交的信息,也就是从HTTP请求数据中获得的信息。HTTP请求数据分为HTTP请求头和Body HTTP请求头包含了一些HTTP请求字段和HTTP GET字段 Body中可以包含任何类型的数据,包含HTTP GET字段、HTTP POST字段,下面只介绍HTTP GET字段,后面再说HTTP POST字段 ...
阅读全文
摘要:pycharm中指定ip和端口 环境: 系统:win7 本机ip:192.168.0.100 1、建立工程请参照:https://www.cnblogs.com/effortsing/p/10394511.html 2、django项目中添加路由 3、修改pycharm中的ip和端口 在pycharm右上角运行那里有个下拉菜单,下拉菜单中点击Edit Configuration ...
阅读全文
摘要:django项目添加路由 url函数的第一个参数是匹配url路径的正则表达式,第2个参数是路由函数 第一个正则表达式是r'^$',其中r表示正则表达式字符串不对转义符进行转义。“^”表示匹配URL路径的开始,“$”表示匹配url路径的结束。中间什么也没有,所以第一个正则表达式匹配了根路径“/”。 第二个正则表达式URL路径以“/product”开头,后面跟任意数字,如:http://12...
阅读全文
摘要:pycharm建立第一个django工程 系统:win764 ip: 192.168.0.100 安装django pip install django 左上角建立一个名为Firstdjango工程 查看工程中所有自带的文件修改ALLOWED_HOSTS参照:https://www.cnblogs.com/effortsing/p/10394400.html 运行django项目,右...
阅读全文
摘要:建立第一个Django工程 环境: ip: 192.168.0.92 系统:centos7.5 安装django pip install django 启动一个HelloWorld工程 django-admin.py startproject HelloWorld [root@test2 ~]# ls HelloWorld查看工程自带的文件 [root@test2 ~]# t...
阅读全文
摘要:mysql如何删除一条记录 delete from 表名 where 条件 实例: use db1 delete from tb1 where id = 1;
阅读全文
摘要:查看日志: tail -f /usr/local/mycat/logs/wrapper.log
阅读全文
摘要:给数据库授权,否则程序、navicat无法连接test1数据库的 mysql> grant all privileges on test1.* TO 'root'@'%' identified by 'jenkins@123' with grant option; Query OK, 0 rows affected, 1 warning (0.01 sec) mysql> flush pri...
阅读全文
摘要:mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select host, user from use...
阅读全文
摘要:ORM 直接使用sql语句虽然方便,但缺点是如果要更换数据库可能还需要修改程序中的Sql语句。为了解决这个问题,出现了ORM。在Python语言中使用ORM有多种选择,都是通过模块支持的。 比较著名的有SQLAlchemy和SQLObject,SQLObject比SQLAlchemy简单的多,但是网上实例太少,所以建议使用SQLAlchemy SQLAlchemy模式 首先安装所需模块...
阅读全文
摘要:1044, "Access denied for user 'root'@'192.168.0.%' to database 'test'" 是因为创建这个test数据库时候没有给这个数据库授予被操作权限,所以报错,授权即可 解决: grant all privileges on test.* TO 'root'@'%' identified by 'jenkins@123' with g...
阅读全文
摘要:数据存储 处理JSON格式的数据 JSON字符串与字典相互转换 将字典转换为JSON字符串需要使用json模块的dumps函数。将JSON字符串转换为字典有下面两种方式 (1)使用json模块的loads函数,该函数通过参数传入JSON字符串,然后返回与该JSON字符串对应的字典(推荐) (2)使用eval函数将字典转换为JSON字符串(不建议用这种方式) 尽管eval函数与load...
阅读全文
摘要:常用的正则表达式: Email:'[0-9a-zA-Z]+@[0-9a-zA-Z]+\.[a-zA-Z]{2,3}' IP地址:'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' Web地址:'https?:/{2}\w.+' import re # 匹配email的正则表达式 email='[0-9a-zA-Z]+@[0-9a-zA-Z]+\.[a-zA-Z]{...
阅读全文
摘要:特殊成员方法 除了构造方法(__init__),还可以使用如下4个特殊方法定义自己的序列类,就像列表、字典等序列一样,只不过用自己特殊的行为,所有的特殊方法在名称前后需要加(__) __len__(self): __getitem__(self,key): __setitem__(self,key,value): __delitem__(self,key)
阅读全文
摘要:使用super函数----增量重写普通方法和构造方法 在子类中如果重写了超类的方法,通常需要在子类方法中调用超类的同名方法,也就是说,重写超类的方法,实际上应该是一种增量的重写方式,子类方法会在超类的同名方法的基础上 做一些其他的工作。 如果在子类中要访问超类中的方法,需要使用super函数。该函数返回的对象代表超类对象,所以访问super函数返回的对象中的资源都属于超类。super函数可...
阅读全文
摘要:重写普通方法和构造方法 在类的继承中,当B类继承A类时,B类就会拥有A类的所有成员变量和方法,如果B类中的方法名与A类中的方法名相同,那么B类中同方法名就会重写A类中同方法名。 如果在B类中定义了构造方法,同样也会重写A类中的构造方法,也就是说,创建B类对象,实际上是调用B类中的构造方法,而不是A类中的构造方法。 实例 class A: def __init__(self): ...
阅读全文
摘要:Python的数据类型与数据结构 数据类型分为: 整数型 ;数字的整数 浮点型; 数字带小数 字符串; 用 ‘’ 或者 “” 引用的任意文本 布尔型;只有 True 和 False 数据结构分为: 列表 list 元祖 tuple 字典 dict 集合 set
阅读全文
摘要:类 创建类 #创建一个Person类 class Person: #定义setName方法 def setName(self,name): self.name=name #定义getName方法 def getName(self): return self.name # 定义greet方法 def greet(s...
阅读全文
摘要:生产者-消费者问题与quene模块 下面使用线程锁以及队列来模拟一个典型的案例:生产者-消费者模型。在这个场景下,商品或服务的生产者生产商品,然后将其放到类似队列的数据结构中,生产商品的时间是不确定的, 同样消费者消费生产者的商品的时间也是不确定的。 这里使用quene模块来提供线程间通信的机制,也就是说,生产者和消费者共享一个队列。生产者生产商品后,会将商品添加到队列中。消费者消费商品,...
阅读全文
摘要:python参数 关键字参数和默认值 默认值又叫位置参数 下面实例中 ("李宁") 是位置参数,(greeting="hello") 是关键字参数 实例 def greet(name,greeting): return "问候语:{} 姓名:{}".format(greeting,name) print(greet("李宁",greeting="hello")) E:\py...
阅读全文
摘要:生成器 如果说迭代器是以类为基础的单位产生器,那么生成器(generator)就是以函数为基础的单位产生器。也就是说,迭代器和生成器都是一个值一个值得生产,每迭代一次,只能得到一个值, 所不同的是,迭代器需要在类中定义__iter__和__next__方法,在使用时需要创建迭代器的实例。而生成器是通过一个函数展现的,可以直接调用, 所以从某种意义上来说,生成器在使用上更简洁。 创建称生...
阅读全文
摘要:迭代器和生成器的区别 如果说迭代器是以类为基础的单位产生器,那么生成器(generator)就是以函数为基础的单位产生器。也就是说,迭代器和生成器都是一个值一个值得生产,每迭代一次,只能得到一个值, 所不同的是,迭代器需要在类中定义__iter__和__next__方法,在使用时需要创建迭代器的实例。而生成器是通过一个函数展现的,可以直接调用, 所以从某种意义上来说,生成器在使用上更简洁。...
阅读全文
摘要:迭代器 为什么要用迭代器 为什么不使用列表而使用迭代器,列表可以获取列表长度,然后使用变量i对列表索引进行循环,而且容器理解,也可以获取集合的所有元素。 没错,使用列表的代码是容易理解也很好操作,但这是要付出代价的。列表之所以可以用索引来快速定位其中的任何一个元素,是因为列表是一下子将所有的数据都装在在内存中, 而且是一块连续存在的空间。当数量比较小时,实现比较容易;当数据量大时,会非常...
阅读全文
摘要:异常处理 什么是异常 当遇到错误后,会引发异常。如果异常对象没有处理异常,或未步捕捉异常,程序就会终止执行,并向用户返回异常信息。通常异常信息会告知错误的代码行以及其他有助于定位 错误的信息,以便程序员可以快速定位有错误的代码 主动抛出异常 raise Exception 实例: raise Exception("这是自己主动抛出的一个异常") 捕捉异常 如果异常未捕捉,...
阅读全文
摘要:测试 使用Flak8检测python代码的错误和警告 pip install flake8 flake8 test.py 实例: [root@test3 ~]# flake8 test.py test.py:4:1: E302 expected 2 blank lines, found 1 test.py:9:1: E302 expected 2 blank lines, found...
阅读全文
摘要:python多线程使用场景 如果程序时cpu密集型的,使用python的多线程是无法提升效率的,如果程序时IO密集型的,使用python多线程可以提高程序的整体效率 CPU密集型(CPU-bound) CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存), I/O在很短...
阅读全文
摘要:CPU密集型(CPU-bound) CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存), I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。 IO密集型(I/O bound) IO密集型指的是系统的CPU性能相对硬盘、内存要好很多,...
阅读全文
摘要:实例:#定义一个生成器 def mygGenerator(): numList=[1,2,3,4,5,6,7,8] for num in numList: #yield 语句会冻结当前函数,并提交当前要生成的值(本例是num) yield num #对迭代器进行迭代 for num in mygGenerator(): print(...
阅读全文
摘要:1、python多线程 多线程可以把空闲时间利用起来 比如有两个进程函数 func1、func2,func1函数里使用sleep休眠一定时间,如果使用单线程调用这两个函数,那么会顺序执行这两个函数 也就是直到第一个函数执行完后,才会执行第二个函数,这样需要很长时间; 如果使用多线程,会发现这两个函数是同时执行的,这是因为多线程会把空闲的时间利用起来,在第一个函数休眠的函数就开始执行第二个...
阅读全文
摘要:1、在空白处左键点击一下即可出现格式刷
阅读全文
摘要:1、建立连接 2、测试连接 3、同步目录 4、查看同步的目录 5、设置永久同步目录 6、设置连接 可以看到添加进来了 参照文档: https://www.cnblogs.com/xiao-apple36/p/8587086.html && https://www.cnblogs.com/zhaof/
阅读全文
摘要:首先我们需要下载一个Python安装包,然后将安装包解压到某个盘符下, 然后我们打开Pycharm软件,点击左上角的File菜单,接着选择Settings选项,如下图所示 在弹出的Settings界面中,我们点击左侧的Project选项,如下图所示,然后点击右侧的Interpreter链接 进入到Interpreter界面中可以看到当前的解释器列表中都没有内容,我们点击右上角的设置按钮,如...
阅读全文
摘要:1、windows上安装了python 用pycharm建立django工程,必须要连接本地的python,也就是windows上的pyhton,不能连接linux上的pyhton,否则报错:please choose a local interpreter 2、pycharm中导入本地python,请参照:https://www.cnblogs.com/effortsing/p/1038...
阅读全文
摘要:进入首页-》系统管理-》全局工具配置 配置jdk 查找jdk安装路径 如果是容器版jenkins,就登进容器里面查看jdk路径 [root@test2 ~]# echo $JAVA_HOME /docker-java-home 填写路径 新增JDK-》去掉自动安装对勾-》填写JAVA_HOME-》保存,如下图所示: 配置git(也可以在jenkins界面选择自动安装) 查找...
阅读全文
摘要:1、停止jenkins sh /usr/local/tomcat/bin/shutdown.sh 2、找到config.xml [root@test3 hello]# find / -name config.xml /root/.jenkins/jobs/test/config.xml /root/.jenkins/config.xml /root/.jenkins/users/jenk...
阅读全文
摘要:使用架构: 2台机器安装 GlusterFS 组成一个 Distributed Replicated Volumes集群 192.168.0.92 服务端 192.168.0.93 服务端 192.168.0.91 客户端 环境配置请参照:https://www.cnblogs.com/effortsing/p/10367025.html #关掉selinux、防火墙 2台...
阅读全文
摘要:实验架构: 192.168.0.92 服务端 192.168.0.93 客户端 1、服务端配置: 安装NFS和rpc 安装nfs服务 yum install -y rpc-bind nfs-utils 安装rpc服务 yum install -y rpcbind 启动服务和设置开启启动 systemctl start rpcbind systemctl e...
阅读全文
摘要:1、备份DefaultAuthenticatorInit.ldift文件 [root@test4 ~]# find / -name DefaultAuthenticatorInit.ldift /application/weblogic12/wls12130/user_projects/domains/mydomain/security/DefaultAuthenticatorInit.ldi...
阅读全文
摘要:weblogic12.1.3部署应用程序请参照:https://www.cnblogs.com/xdp-gacl/p/4143413.html
阅读全文
摘要:centos7.5 安装weblogic12.1.3 环境: centos7.5 ip: 192.168.0.94 安装jdk,请参照: https://www.cnblogs.com/effortsing/p/10012211.html 下载安装包:https://pan.baidu.com/s/1aShgs35dOgR-DRDMsOExDg 提取码:9dak rz ...
阅读全文
摘要:实验架构: master 192.168.0.92 mysql slave 192.168.0.93 mysql mycat 192.168.0.94 mycat jdk angent 192.168.0.95 mysql 1、环境配置 参照:https://www.cnblogs...
阅读全文
摘要:实验架构: 192.168.0.92 mysql 主 192.168.0.93 mysql 从 1、环境配置请参照: https://www.cnblogs.com/effortsing/p/10367025.html 2、mysql安装 请参照:https://www.cnblogs.com/effortsing/p/9982028.html 3、Mysql主从同步环境...
阅读全文
摘要:1、常用环境配置 2、配置ip免密登录 ssh-keygen -t rsa -f /root/.ssh/id_rsa -P "" ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.91 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.92 ssh-copy-id -i ~/.ssh/id_r...
阅读全文
摘要:cat /home/logstash-6.3.0/config/tomcat_test.confinput { file { path => ["/usr/local/tomcat/logs/localhost_access_log.2019-02-12.txt"] type => "tomcat_
阅读全文
摘要:首先安装npm 下载网址:https://nodejs.org/dist/latest-v8.x/ rz node-v8.15.0-linux-x86.tar.xz 解压安装包 tar -xf /root/node-v8.15.0-linux-x86.tar.xz -C /usr/local/ 重命名为node cd /usr/local/ mv node-v8.15.0-li...
阅读全文
摘要:centos7.5 解决缺少libstdc++.so.6库的原因及解决办法 执行node -v报错如下: [root@bogon ~]# node -v node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory 先...
阅读全文
摘要:linux下正确卸载rpm包 rpm -qa | grep -i ntp 执行结果: [root@bogon elasticsearch-head]# rpm -qa | grep -i ntp fontpackages-filesystem-1.44-8.el7.noarch 卸载: yum remove fontpackages-filesystem-1.44-8.el7.noar...
阅读全文
摘要:1、localhost解释 localhost意思是只能从本地访问 比如说 kibana的配置文件里面写的是localhost,那就无法从浏览器访问到服务,必须写ip地址才可以从浏览器访问到
阅读全文
摘要:1、elasticsearch启动失败如下: [root@bogon home]# /home/elasticsearch-6.3.0/bin/elasticsearch [2019-02-11T07:15:14,874][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [m...
阅读全文
摘要:一、所有安装包、脚本、脚本说明、下载链接:https://pan.baidu.com/s/1kHaesJJuMQ5cG-O_nvljtg 提取码:kkv6 二、脚本安装说明 1、脚本说明: 本实验为三台master组成高可用,另外一台单独安装node组件,一共四个节点; 脚本里面的几个apiserver地址是写死的,所以部署时候用的ip不一样的话,需要替换; flanneld、c...
阅读全文
摘要:01.系统初始化和全局变量 集群机器 test1:192.168.0.91 test2:192.168.0.92 test3:192.168.0.93 主机名 设置永久主机名称,然后重新登录: sudo hostnamectl set-hostname test1 # 将 test1 替换为当前主机名 设置的主机名保存在 /etc/hostname 文件中; 修改每台机器的 /e...
阅读全文
摘要:[root@test1 script]# cat k8s-docker-binary-py #!/usr/bin/python # -*- coding: utf-8 -*- from __future__ import print_function import os, sys, stat import shutil import tarfile import subprocess # ...
阅读全文
摘要:查看所有master节点kube-apiserver ansible k8s -m shell -a 'systemctl status kube-apiserver' 重启所有master节点kube-apiserver subprocess.call(["ansible k8s -m shell -a 'systemctl daemon-reload && systemctl rest...
阅读全文
摘要:高可用安装k8s1.13.0 --不能带cavisor,总是报错,kubelet无法启动
阅读全文
摘要:docker启动cavisor监控 docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 --detach=true --name=cadvisor ...
阅读全文
摘要:1、高可用脚本安装完etcd后启动失败 解决:所有节点重启即可解决。这样的情况遇到了三次,就是因为电脑太卡了,当时cpu利用率很高,达到了94%。脚本是正确的,跟脚本没有关系 所以最好分开安装,先安装etcd集群,然后重启所有节点,再安装k8s部分, 2、kube-apiserver报错: Failed to list *core.Secret: unable to transform ke...
阅读全文
摘要:注意:必须先搜索镜像,否则有时候无法下载 Docker下载Redis镜像并运行容器 1、搜索查找镜像 docker search redis 2、下载镜像 docker pull redis:latest 参照文档:https://my.oschina.net/xiaozhiwen/blog/1602628
阅读全文
摘要:同步pod容器内时区 1、直接修改镜像的时间设置,好处是应用部署时无需做特殊设置,但是需要手动构建Docker镜像。 2、部署应用时,单独读取主机的“/etc/localtime”文件,即创建pod时同步时区,无需修改镜像,但是每个应用都要单独设置。 实例: [root@lab2 dandang]# cat dandang.v1.yaml apiVersion: v1 kind: ...
阅读全文
摘要:现象: 执行kubectl get po -o wide 非常卡、慢 原因: 修改node名称造成的, 解决: https://my.oschina.net/u/3390908/blog/1649764 1、查看原来node [root@lab2 ~]# kubectl get no NAME STATUS ROLES AGE ...
阅读全文
摘要:镜像下载: docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.11.2 ; \ docker tag mirrorgooglecontainers/kube-apiserver-amd64:v1.11.2 k8s.gcr.io/kube-apiserver-amd64:v1.11.2 ; \ docker image rm ...
阅读全文
摘要:通过浏览器访问 需要给浏览器生成一个 client 证书,访问 apiserver 的 6443 https 端口时使用 这里使用部署 kubectl 命令行工具时创建的 admin 证书、私钥和上面的 ca 证书,创建一个浏览器可以使用 PKCS#12/PFX 格式的证书: [root@kube-node1 k8s]# cd /opt/k8s/ [root@kube-node1 k8...
阅读全文
摘要:问题: node节点挂了一个, 无法切换到另一个node上 解决: 1、指定了 nodeslector 2、设置了下面: hostNetwork: true dnsPolicy: ClusterFirstWithHostNet 关掉就可以,一般不用这个 报错: 一直处于pending状态 Warning FailedScheduling 19s (...
阅读全文
摘要:删除node节点 删除通过csr请求后产生的所有文件和证书 [root@lab1 ~]# rm -rf /etc/kubernetes/kubelet.conf [root@lab1 ~]# rm -rf /etc/kubernetes/pki/kubelet* 重启所有节点的kubelet [root@lab1 ~]# systemctl restart kubelet ...
阅读全文
摘要:给用户授予RBAC权限没有权限会报如下错误:执行查看资源报错: unable to upgrade connection: Forbidden (user=kubernetes, verb=create, resource=nodes, subresource=proxy) [root@test4 ~]# kubectl exec -it http-test-dm2-6dbd76c7dd-cv...
阅读全文
摘要:[root@hostnametest4 ~]# hostname -i 0.0.0.0 原因:是因为四个节点中其中一个节点没有配置hosts解析,必须每个节点写全这四个ip,只要掉一个ip就会出现0.0.0.0, cat >/etc/hosts<<EOF 192.168.0.91 test1 192.168.0.92 test2 192.168.0.93 test3 192.168.0.9...
阅读全文
摘要:playbook部署coredns 说明test1是主控节点,目的是给test4 node节点安装coredns, 1、coredns-1.2.2.tar.gz安装包放到主控节点/server/software/k8s/目录下,由playbook中的docker导入镜像 2、准备hosts文件 cat >/k8s/profile/hosts /k8s/profile/deploy_cor...
阅读全文
摘要:playbook常用操作 1、检查playbook语法错误 ansible-playbook -i hosts deploy_coredns.yaml --syntax-check 2、查看playbook主机组 ansible-playbook -i hosts deploy_coredns.yaml --list-hosts
阅读全文
摘要:yaml文件中镜像拉取策略解释: containers: - name: coredns image: coredns/coredns:1.2.0 imagePullPolicy: IfNotPresent IfNotPresent :如果本地存在镜像就优先使用本地镜像。 Never:直接不再去拉取镜像了,使用本地的;如果本地不存...
阅读全文
摘要:1、kube-apiserver、kube-controller-manager启动文件里面的公钥文件、私钥文件竟然是一样的,还怎么配对,这是源文档的大坑 查看源文档kube-apiserver启动文件中公钥 cat etc/systemd/system/kube-apiserver.service --service-account-key-file=/etc/kubernetes/c...
阅读全文
摘要:[root@node1 playbook]# cat nginx.yml - hosts: test \\主机组,要和nginx.yml在同一个目录下 remote_user: root \\远端执行任务的用户 tasks: \\任务 - name: install httpd \\任务描述 command: yum -y install httpd \\调用ansi...
阅读全文
摘要:定义playbook的主机组 说明: 1、playbook的主机组和ansible的主机组不一样, 2、playbook的主机组文件必须要和playbook文件在同一个目录下否则会报如下错误: [root@test1 profile]# ansible-playbook -i hosts deploy_flanneld.yaml --list-hosts [WARNING]: Unab...
阅读全文
摘要:yaml语法常见错误 1、定义变量不能带引号 2、定义的变量和值之间要有空格3、yaml文件里面不能出现tab空格
阅读全文
摘要:说明:通过jinja2渲染后只能打印出来效果,目前无法保存例1:渲染 .j2 文件 1、安装jinja2模块 pip3 install jinja2 2、定义模板 说明:变量必须是小写,大写有的情况无法替换,亲测;模板必须是j2结尾或者jinja2默认支持的html格式 本实例的文档是不全的,只是截取了其中一段作为例子进行演示 本实例模板中定义了两个需要被渲染的变量 {{ clu...
阅读全文
摘要:1、改变文件夹的所有者 chown -R k8s:k8s /var/log/kubernetes/
阅读全文
摘要:#!/bin/bash #定义变量 export NODE_NAMES=(test1 test2 test3 test4) export NODE_IPS=(192.168.0.91 192.168.0.92 192.168.0.93 192.168.0.94) for node_name in ${NODE_NAMES[*]} do for node_ip in ${NODE_IPS...
阅读全文
摘要:方式一、 1、配置资源清单inventory文件 [root@test1 ~]# cat >/etc/ansible/hosts /etc/ansible/hosts<<EOF [k8s] 192.168.0.92 [test3] 192.168.0.93 3、执行 sudo ansible k8s -m shell -a 'chmod +x /home/*' ...
阅读全文
摘要:说明:必须要带上$ ,否则报错ENCRYPTION_KEY=$(head -c 16 /dev/urandom | od -An -t x | tr -d ' ') echo ${ENCRYPTION_KEY}
阅读全文
摘要:cat > a.sh <<EOF #!/bin/bash export NODE_NAMES=(kube-test1 kube-test2 kube-test3 kube-test4) for node_name in ${NODE_NAMES[*]} do echo ${node_name} done EOF
阅读全文
摘要:shell中一次移动多个文件 mv /root/{flanneld,mk-docker-opts.sh} /usr/local/kubernetes/bin/
阅读全文
摘要:hostname -i | awk '{print $NF}'
阅读全文
摘要:#!/usr/bin/python #-*- codinig: UTF-8 -*- from __future__ import print_function import os, sys, stat import shutil import tarfile import subprocess output=subprocess.check_output(["hostname"], shel...
阅读全文
摘要:一、脚本说明: 本实验中master、node、etcd都是单体。 安装顺序为:先安装test1节点主要组件,然后开始安装test2节点,最后回头把test1节点加入集群中,这样做目的是理解以后扩容都需要进行哪些操作 实验架构: test1: 192.168.0.91 etcd、kubectl工具、kube-apiserver、kube-controller-manager、ku...
阅读全文
摘要:直接看下面实例:In [52]: output=subprocess.check_output(["head -c 16 /dev/urandom | od -An -t x | tr -d ' '"], shell=True) In [53]: print(output) ...
阅读全文
摘要:1、用Python Shell设置或获取环境变量的方法: 设置系统环境变量 os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型 os.putenv('环境变量名称', '环境变量值') 获取系统环境变量 os.environ['环境变量名称'] os.getenv('环境变量名称') 实例一、 In [52]: output...
阅读全文
摘要:subprocess.call 是不能作为赋值的,需要用到 subprocess.check_output 函数,而且如果要引用赋值就必须使用subprocess.call(['echo',line])这种形式。 In [42]: import subprocess In [101]: subprocess.call(['kubectl','get','nodes']) ...
阅读全文
摘要:https://jingyan.baidu.com/article/9faa7231f88570473c28cb88.html
阅读全文