java发送html模板的高逼格邮件最近做了一个监测k8s服务pod水平伸缩发送邮件的功能(当pod的cpu/内存达到指定阈值后会水平扩展出多个pod、或者指定时间内pod数应扩展到指定数量),一开始写了个格式很low的邮件,像下面这样:简单邮件主流程打通,算个v1版本吧,程序员是个追求完美的人,再说这么低逼格的邮件,给客户看,客户也会不满意。那怎么提高邮件的逼格呢?下面写了个简单的demo,v2
分类:
编程语言 时间:
2020-12-14 13:57:56
阅读次数:
15
Pod是可以在Kubernetes中创建和管理的、最小的可部署的计算单元。Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个)容器,这些容器共享存储、网络、以及怎样运行这些容器的声明。Pod中的所有容器是相对紧密的耦合在一起的,会被调度到同一个node节点上。本文测试数据来自源Kubernetes1.18版本。k8s的最小可调度单元如果选择容器作为k8s的最小可调度单元,那么容器的健康检测,多个
分类:
其他好文 时间:
2020-12-14 13:56:21
阅读次数:
10
k8s一路安装到flannel网络时卡主了我不少时间,查看大量资料无法解决问题,始终报错,flanel容器不断重启,CrashLoopBackoff,截图如下: 容器截图如下: Failed to create SubnetManager: error retrieving pod spec for ...
分类:
其他好文 时间:
2020-12-14 13:24:04
阅读次数:
4
我们在集群中只要访问servie的IP+Port就可以代理到后端的Pod,在它们之前的请求转发离不开每个Node节点上的kube-proxy组件。 kube-proxy的模式有以下三种: Userspace iptables ipvs kube-proxy的主要作用是: 监听kube-api,获取S ...
分类:
其他好文 时间:
2020-12-11 12:08:30
阅读次数:
3
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 6.0, but the range of supported deployment target versions is 8.0 ...
分类:
移动开发 时间:
2020-12-10 11:10:22
阅读次数:
9
1、安装go环境 下载go 配置环境变量 export GO_HOME=/usr/local/go export PATH=$GO_HOME/bin:$PATH 2、下载perftest https://github.com/kubernetes/perf-tests/ 3、解压后进入cluster ...
分类:
其他好文 时间:
2020-12-07 12:07:10
阅读次数:
5
容器中的文件在磁盘上是临时存放的,当容器重建时,容器中的文件将会丢失,另外当在一个Pod中同时运行多个容器时,常常需要在这些容器之间共享文件,这也是容器不好解决的问题。Kubernetes抽象出了Volume来解决这两个问题,也就是存储卷,Kubernetes的Volume是Pod的一部分,Volume不是单独的对象,不能独立创建,只能在Pod中定义。Pod中的所有容器都可以访问Volume,但必
分类:
其他好文 时间:
2020-11-27 11:49:31
阅读次数:
22
上一章节介绍的HostPath是一种持久化存储,但是HostPath的内容是存储在节点上,导致只适合读取。如果要求Pod重新调度后仍然能使用之前读写过的数据,就只能使用网络存储了,网络存储种类非常多且有不同的使用方法,通常一个云服务提供商至少有块存储、文件存储、对象存储三种,如华为云的EVS、SFS和OBS。Kubernetes解决这个问题的方式是抽象了PV(PersistentVolume)和P
分类:
其他好文 时间:
2020-11-27 11:49:11
阅读次数:
25
什么是PodPod是Kubernetes创建或部署的最小单位。一个Pod封装一个或多个容器(container)、存储资源(volume)、一个独立的网络IP以及管理控制容器运行方式的策略选项。Pod使用主要分为两种方式:Pod中运行一个容器。这是Kubernetes最常见的用法,您可以将Pod视为单个封装的容器,但是Kubernetes是直接管理Pod而不是容器。Pod中运行多个需要耦合在一起工
分类:
Web程序 时间:
2020-11-27 11:21:26
阅读次数:
10
存活探针Kubernetes提供了自愈的能力,具体就是能感知到容器崩溃,然后能够重启这个容器。但是有时候例如Java程序内存泄漏了,程序无法正常工作,但是JVM进程却是一直运行的,对于这种应用本身业务出了问题的情况,Kubernetes提供了LivenessProbe机制,通过检测容器响应是否正常来决定是否重启,这是一种很好的健康检查机制。毫无疑问,每个Pod最好都定义LivenessProbe,
分类:
其他好文 时间:
2020-11-27 11:21:10
阅读次数:
9