11 2018 档案
摘要:元组常常称为“不可变列表”,然而这并没有完全概括元组的特点。除 了用作不可变的列表,它还可以用于没有字段名的记录。鉴于后者常常被忽略,我们先来 看看元组作为记录的功用。 1.元祖和记录 元组其实是对数据的记录:元组中的每个元素都存放了记录中一个字段的数据,外加这个 字段的位置。正是这个位置信息给数据
阅读全文
摘要:一.列表推导式 列表推导是构建列表(list)的快捷方式,而生成器表达式则可以创建其他任何类型的序列,如果你的代码里并不 经常使用它们,你有可能错过很多可读性很好的而且更高效的代码的机会 示例1: 把一个字符串变成Unicode码位的列表 示例2:把字符串变成Unicode码位的另外一种写法(列表生
阅读全文
摘要:为什么我突然扯出这么几个函数,是因为我今天在看流畅的python这本书的时候,里面有一部分内容看的有点懵逼。 下面根据这里面的所有的函数展开整理一下 1.ord是将字符转换为10进制的数 2.而map是将列表内元素当做某个函数的参数得到的结果组成的新列表 3.filter是将一个列表按照一定的规则过
阅读全文
摘要:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为gai目标值的 两个 整数。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例:
阅读全文
摘要:在 Kubernetes Dashboard 中可以查看集群中应用的运行状态,也能够创建和修改各种 Kubernetes 资源,比如 Deployment、Job、DaemonSet 等。用户可以 Scale Up/Down Deployment、执行 Rolling Update、重启某个 Pod
阅读全文
摘要:1.Kubernetes 网络模型 Kubernetes 采用的是基于扁平地址空间的网络模型,集群中的每个 Pod 都有自己的 IP 地址,Pod 之间不需要配置 NAT 就能直接通信。另外,同一个 Pod 中的容器共享 Pod 的 IP,能够通过 localhost 通信。 这种网络模型对应用开发
阅读全文
摘要:1.开发自己的chart Kubernetes 给我们提供了大量官方 chart,不过要部署微服务应用,还是需要开发自己的 chart,下面就来实践这个主题。 1.1创建 chart 执行 helm create mychart 的命令创建 chart mychart: Helm 会帮我们创建目录
阅读全文
摘要:1.环境准备 py版本:python3.6.7 需要使用的包列表文件: requirements.txt 制作词云的图片一张:cloud.jpg 创建一个目录:JobPostion 用来存放爬取的csv文件格式的数据 用来解决词云中的乱码的字体文件 Arial Unicode MS.ttf 2.爬取
阅读全文
摘要:chart 是 Helm 的应用打包格式。chart 由一系列文件组成,这些文件描述了 Kubernetes 部署应用时所需要的资源,比如 Service、Deployment、PersistentVolumeClaim、Secret、ConfigMap 等。 单个的 chart 可以非常简单,只用
阅读全文
摘要:每个成功的软件平台都有一个优秀的打包系统,比如 Debian、Ubuntu 的 apt,Redhat、Centos 的 yum。而 Helm 则是 Kubernetes 上的包管理器。 本章我们将讨论为什么需要 Helm,它的架构和组件,以及如何使用 Helm。 1.Why Helm Helm 到底
阅读全文
摘要:Secret 可以为 Pod 提供密码、Token、私钥等敏感数据;对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap。 ConfigMap 的创建和使用方式与 Secret 非常类似,主要的不同是数据以明文的形式存放。 1.configMap的创建 与 Secret 一样,Con
阅读全文
摘要:应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥。将这些信息直接保存在容器镜像中显然不妥,Kubernetes 提供的解决方案是 Secret。 Secret 会以密文的方式存储数据,避免了直接在配置文件中保存敏感信息。Secret 会以 Volume 的形式被 mount 到
阅读全文
摘要:1.PV和PVC的引入 Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足。 拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EBS。 EBS Volume 已经提前创建,并且知道确切的 volume-id
阅读全文
摘要:1.Volume简介 我们经常会说:容器和 Pod 是短暂的。其含义是它们的生命周期可能很短,会被频繁地销毁和创建。容器销毁时,保存在容器内部文件系统中的数据都会被清除。 为了持久化保存容器的数据,可以使用 Kubernetes Volume。 Volume 的生命周期独立于容器,Pod 中的容器可
阅读全文
摘要:1.安装阿里开源监控工具tsar tsar官方网站 安装后,您可能会看到以下文件: /etc/tsar/tsar.conf,这是tsar的主要配置文件; /etc/cron.d/tsar,用来运行tsar每分钟收集信息; /etc/logrotate.d/tsar 将每月轮换tsar的日志文件; /
阅读全文
摘要:强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性。自愈的默认实现方式是自动重启发生故障的容器。除此之外,用户还可以利用 Liveness 和 Readiness 探测机制设置更精细的健康检查,进而实现如下需求: 零停机部署。 避免部署无效的镜像。 更加安全的滚动升级。 下面通过
阅读全文
摘要:kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision。 默认配置下,Kubernetes 只会保留最近的几个 revision,可以在 Deployment 配置文件中通过 revis
阅读全文
摘要:滚动更新是一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新。滚动更新的最大的好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性。 下面我们部署三副本应用: 初始镜像为 httpd:2.2.31,然后将其更新到 httpd:2.2.32。 httpd:2.2.3
阅读全文
摘要:1.service简介 本节开始学习 Service。我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉。Deployment 等 controller 会通过动态创建和销毁 Pod 来保证应用整体的健壮性。换句话说,Pod 是脆弱的
阅读全文
摘要:1.运行一次性容器 容器按照持续运行的时间可分为两类: 服务类容器 服务类容器通常持续提供服务,需要一直运行,比如 http server,daemon 等。 工作类容器 工作类容器则是一次性任务,比如批处理程序,完成后容器就退出。 Kubernetes 的 Deployment、ReplicaSe
阅读全文
摘要:Deployment 部署的副本 Pod 会分布在各个 Node 上,每个 Node 都可能运行好几个副本。DaemonSet 的不同之处在于:每个 Node 上最多只能运行一个副本。 1.DaemonSet 的典型应用场景 在集群的每个节点上运行存储 Daemon,比如 分布式存储 glusteF
阅读全文
摘要:默认情况下,scheduler会将pod调度到所有可用的Node,不过有些情况我们希望将 Pod 部署到指定的 Node,比如将有大量磁盘 I/O 的 Pod 部署到配置了 SSD 的 Node;或者 Pod 需要 GPU,需要运行在配置了 GPU 的节点上。 kubernetes通过label来实
阅读全文
摘要:当前3个节点的状态都为ready 当前node1有两个pod node2有1个pod 现在将node1关机会有怎样的现象 ping 分布在node1节点的pod地址已经ping不通。 在node1节点上的pod状态都变为unknow,并重新在node2上开启两个pod维持副本数始终为3,实现了fai
阅读全文
摘要:伸缩(Scale Up/Down)是指在线增加或减少 Pod 的副本数。 1.增加副本 Deployment nginx-deployment初始是两个副本。 现在将配置文件中原先replicas为2 改为5 pod将会怎么分布 2.master节点工作负载选择 这里由于我将master节点去除了污
阅读全文
摘要:命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建 在命令行中通过参数指定资源的属性。 2. 通过配置文件和 kubectl apply 创建 要完成前面同样的工作,可执行命令: [root@k8s-master k8s]# kubectl a
阅读全文
摘要:Kubernetes 通过各种 Controller 来管理 Pod 的生命周期。为了满足不同业务场景,Kubernetes 开发了 Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job 等多种 Controller。我们首先学习最常用的 Deployme
阅读全文
摘要:一、整体架构 kubernetes分为 master节点和工作节点,前者是管理节点,后者是容器运行的节点。其中master节点主要有3个重要组件,分别是APIServer,sheduler和controller manager。 工作节点 有两个组件 kubelet 和 kubelet (有时候ma
阅读全文