Roy学Kubernetes(17):Ingress
Ingress是管理k8s群集中服务的外部访问(通常是HTTP/HTTPS访问请求)的API对象,它可以提供负载均衡和基于域名的虚拟主机服务(实现nginx的功能)。
在了解Ingress之前,我们需要先知道以下术语:
- Node:k8s集群工作节点
- Cluster:k8s集群
Ingress是管理k8s群集中服务的外部访问(通常是HTTP/HTTPS访问请求)的API对象,它可以提供负载均衡和基于域名的虚拟主机服务(实现nginx的功能)。
在了解Ingress之前,我们需要先知道以下术语:
本章我们将讨论kubernetes中连接到serivce容器的方法,首先我们来看它和docker容器网络工作模式的对比:
磁盘IO性能
服务器磁盘IO是最可能影响服务器性能发挥的指标之一,在很多情况下,服务器负载异常都可能与磁盘IO性能不足有关。所以很多时候我们需要做磁盘测试,hdparm就是一个很好的磁盘测试工具。
命令语法
1 | hdparm [-CfghiIqtTvyYZ][-a <快取分区>][-A <0或1>][-c <I/O模式>][-d <0或1>][-k <0或1>][-K <0或1>][-m <分区数>][-n <0或1>][-p <PIO模式>][-P <分区数>][-r <0或1>][-S <时间>][-u <0或1>][-W <0或1>][-X <传输模式>][设备] |
平时大家在部署环境或项目时,肯定有碰到类似的网络环境:私有网络中,有一台机器(一般是跳板机或代理机)可访问外网,其它机器无外网访问权限。这时除这台以外的其他机器,yum无法正常安装软件。解决方案是:在有外网权限的机器上配置squid代理到公网,然后为内网其他机器配置yum代理,使用公网的yum源(例如mirrors.aliyun.com)安装软件包。
Kubernetes为集群内的Pod和Service提供了DNS服务,它会自动配置kubelet以告知各个容器使用DNS服务的IP来解析集群内的DNS名称。集群中定义的每个Service服务(包括DNS服务器本身)都会分配一个DNS名称。 默认情况下,客户端Pod的DNS搜索列表将包含Pod自己的namespace和集群的默认域(默认是cluster.local)。所以同namespace内的Servie和Pod的DNS记录查询,可以省略namespace和默认域。
CronJob是基于时间的任务,和linux系统中的计划任务crontab同理。一个CronJob对象就像一行crontab(cron表)文件。 它以给定的时间表定期运行指定的任务,语法与crontab格式相同。(在Kubernetes1.4版本名为ScheduledJob,从1.5版本开始改成CronJob)
Job创建一个或多个Pod并确保指定数量的Pod成功执行并终止。 当pod成功完成后,Job会跟踪任务完成情况。 达到指定数量的成功完成时,任务(即Job)完成。您还可以使用Job并行运行多个Pod。
一个简单的例子是创建一个Job任务对象,以便可靠地运行一个Pod来完成。 如果第一个Pod失败或被删除(例如由于节点硬件故障或节点重启),Job对象将启动一个新的Pod。