一  downwardAPI的应用 1.1  前面我们介绍了如何通过configmap以及secret将配置传入到pod的容器中,但是传递的这些都是预先能够安排和只晓得,对于那些只有当pod创建起来之后才由其他一些资源创建的配置,上面说到的那些都没用,我们需要另外一种kubernets资源来提供这些配置的渲染,这种方式主要是通过将pod定义和状态中取得的数据作为环境变量和文件值 1.2  介绍pod一些常见的元数据 pod的名称 pod的IP pod所在的命名空间 pod所在的运行节点 pod的…
Downward API 我们已经了解到,使用ConfigMap和Secret向应用传递配置数据,这对于运行前预设的数据是可行的.但是对于那些不能预先知道的,就需要使用Downward API. Downward API允许我们通过环境变量或者卷的方式向应用传递元数据.可传递的数据包括:Pod的IP.名称.标签.注解.所在命令空间.运行的节点名称.运行所属的ServiceAccountName,每个容器请求的CPU和内存使用量以及限制. 通过环境变量暴露元数据 env.valueFrom下引用P…
对于某些需要调度之后才能知道的数据,比如 pod 的 ip,主机名,或者 pod 自身的名称等等,k8s 依旧很贴心的提供了 Downward API 的方式来获取此类数据,并且可以通过环境变量或者文件(downwardApi卷中)来传递 pod 的元数据. 可以传递的容器数据包括如下: pod的名称,IP,所在命名空间,运行节点的名称,运行所归属的服务账户名称 每个容器请求的 CPU 和内存的使用量 每个容器可以使用的 CPU 和内存的限制 pod 的标签 pod 的注解 通过环境变量暴露元数…
##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ #######################    以下为声明  ##################### 此文档是在两台机上进行的实践,kubernetes处于不断开发阶段 不能保证每个步骤都能准确到同步开发进度,所以如果安装部署过程中有问题请尽量google 按照下面步骤能得到什么? 1.两台主机之一会作为Rancher的serve…
spark on yarn模式下配置spark-sql访问hive元数据 目的:在spark on yarn模式下,执行spark-sql访问hive的元数据.并对比一下spark-sql 和hive的效率. 软件环境: hadoop2.7.3 apache-hive-2.1.1-bin spark-2.1.0-bin-hadoop2.7 jd1.8 hadoop是伪分布式安装的,1个节点,2core,4G内存. hive是远程模式. spark的下载地址: http://spark.apach…
6.2 Cluster IP 底层实现 Cluster IP 是一个虚拟IP,是由K8s节点上的iptables规则管理的. 使用类似轮询的方法访问Pod. 6.3 DNS 访问Service 在Cluster中,除了可以通过Cluster IP访问 services, K8s还提供了更为方便的DNS访问. kubeadm部署时会默认安装kube-dns组件. kube-dns是一个DNS服务器.每当有新的Service被创建,kube-dns会添加该service的DNS记录.Cluster中…
不应该直接使用Pod的ID地址作为对外提供服务的接口,应为一旦Pod重启,IP地址就变化了,解决方案是使用Service. 6.1 创建Service K8s service从逻辑上代表了一组Pod,具体是哪些Pod则由label来挑选的.     service有自己的IP,而且这个IP是不变的,客户端只需要访问Service的IP,K8s负责建立和维护service和Pod的映射关系.无论Pod如何变化,对客户端无影响. apiVersion: apps/v1beta1 kind: Depl…
1. 通过 Service 访问 Pod 我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉.Deployment 等 controller 会通过动态创建和销毁 Pod 来保证应用整体的健壮性.换句话说,Pod 是脆弱的,但应用是健壮的. 每个 Pod 都有自己的 IP 地址.当 controller 用新 Pod 替代发生故障的 Pod 时,新 Pod 会分配到新的 IP 地址.这样就产生了一个问题: 如果一组 Pod 对外提…
本章看点: 理清Deployment,ReplicaSet和Pod的关系,以及三者之间的网络关系,ip地址和端口号 通过Pod进入docker容器修改里面的内容 外部网络访问Pod里面的应用 一.通过 Service 访问 Pod 我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉.Deployment 等 controller 会通过动态创建和销毁 Pod来保证应用整体的健壮性.换句话说,Pod 是脆弱的,但应用是健壮的. 每个…
一.通过 Service 访问 Pod: 我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉.Deployment 等 controller 会通过动态创建和销毁 Pod 来保证应用整体的健壮性.换句话说,Pod 是脆弱的,但应用是健壮的. 每个 Pod 都有自己的 IP 地址.当 controller 用新 Pod 替代发生故障的 Pod 时,新 Pod 会分配到新的 IP 地址.这样就产生了一个问题: 如果一组 Pod 对外提…