本博客的内容要点 什么是函数闭包(function closure)? 什么是语法糖(Syntactic sugar)? 什么是装饰器(decorator)? 什么是函数闭包(function closure)? 看下方的一段代码 函数的主要功能(输出奇数)和辅助功能(统计函数执行时间)全部都放在一个函数中,一旦要对其进行修改,如果修改错误就会导致出现Bug,导致该函数不可用。 不方便修改 我们的目的是为了能不能在直接调用主要函数的同时调用辅助函数? import time def print_odds(): """ 输出0-100之间所有的奇数并且返回函数的执行时间 """ # 查找并输出所有奇数 start_time...

字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: d = {key1 : value1, key2 : value2 } 键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。 访问字典里的值 把相应的键放入熟悉的方括弧,如下实例: dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print ("dict['Name']: ", dict['Name']) print ("dict['Age']: ",...

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推, Python有6个序列的内置类型,但最常见的是列表和元组。 序列都可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表的数据项不需要具有相同的类型 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可 与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。 访问列表中的值 使用下标索引来访问列表中的值,同样你也可以使用方括号...

编写你的Dockerfile FROM centos:8 # add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added RUN groupadd -r -g 1000 redis && useradd -r -g redis -u 1000 redis # Redis信息 注意SHA校验 ENV REDIS_VERSION 6.0.8 ENV REDIS_DOWNLOAD_URL...

注意:请各位记住把所有离线包全拿到本地….. 在线部署chartmuseum 直接使用最简单的 docker run 方式,使用local 本地存储方式,通过 -v 映射到宿主机 /opt/charts 更多支持安装方式见官网 mkdir /opt/charts docker run -d \ -p 8080:8080 \ -e DEBUG=1 \ -e STORAGE=local \ -e STORAGE_LOCAL_ROOTDIR=/charts \ -v /opt/charts:/charts \ chartmuseum/chartmuseum:latest 下载Skywalking包 git clone...

ConfigMap了解 描述信息ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也可以用来保存整个配置文件或者 JSON 二进制大对象 有点儿类似于zookeeper nacos这种服务注册中心 configMap的创建 使用目录创建 $ ls docs/user-guide/configmap/kubectl/ game.properties ui.properties $ cat...

修复解决漏洞 解决OPenssh7.x以前的绝大多数问题 OpenSSH 命令注入漏洞(CVE-2020-15778) OpenSSH 用户枚举漏洞(CVE-2018-15919) OpenSSH 安全漏洞(CVE-2017-15906) 升级能解决绝大多数的问题 安装依赖环境 yum -y install rpm-build gcc gcc-c++ glibc glibc-devel openssl-devel openssl prce pcre-devel zlib zlib-devel make wget krb5-devel pam-devel libX11-devel xmkmf libXt-devel...

持久化存储-NFS Emptydir:是本地存储,Pod重启,数据不存在了 Nfs:网络存储,Pod重启后,数据还是存在的 部署NFS服务器 可以单独设置一台服务器为NFS服务器 yum -y install nfs-utils systemctl start nfs 设置挂载目录 mkdir /data/k8s_nfs -p vim /etc/exports /data/k8s_nfs *(rw,no_root_squash) 在K8S节点上安装NFS yum -y install nfs-utils 部署应用挂载NFS vim...

概念 Helm是一个Kubernetes的包管理工具,就像Linux下的包管理工具,可以很方便的将之前打包好的yaml文件部署到Kubernetes上. Helm可以解决那些问题 使用Helm可以把这些yaml作为一个整体管理 实现yaml高效复用 Helm应用级别的版本管理 Helm基础 Charts: Helm使用的打包格式,一个Chart包含了一组K8s资源集合的描述文件。Chart有特定的文件目录结构,如果开发者想自定义一个新的 Chart,只需要使用Helm create命令生成一个目录结构即可进行开发。 Release: 通过Helm将Chart部署到 K8s集群时创建的特定实例,包含了部署在容器集群内的各种应用资...

有状态和无状态的区别 无状态 认为Pod都是一样的 没有顺序要求 不用考虑在哪个Node运行 随意进行伸缩和扩展 有状态 有关无状态的因素都需要考虑 让每个Pod都是独立的,保持Pod启动顺序的唯一性 唯一的网络标识符,持久化存储数据 有序化,例如MYSQL主从 无头Service ClusterIP:None 部署StatefulSet # 首先构建一个无头ServiceapiVersion:v1kind:Servicemetadata:name:nginxlabels:app:nginxspec:ports:-...