求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
 


业务架构设计
4月18-19日 在线直播



基于UML和EA进行系统分析设计
4月25-26日 北京+在线



AI 智能化软件测试方法与实践
5月23-24日 上海+在线
 
 
 

Kubernetes教程
Kubernetes概述
Kubernetes设计架构
kubernetes设计理念
创建Kubernetes集群
基于Docker本地运行Kubernetes
使用Vagrant
本地运行Kubrenetes v1.0
Google Computer Engine入门
AWS EC2快速入门
在Azure上使用CoreOS和Weave的 Kubernetes
从零开始k8s
CoreOS部署Kubernetes集群
CloudStack部署Kubernetes集群
vSphere部署Kubernetes集群
Ferdora部署Kubernetes集群
CentOS部署Kubernetes集群
Ubuntu物理节点上部署Kubernets集群
Mesos部署Kubernetes集群
Kubernetes用户指南:应用程序管理
名词解释 Pods
名词解释 Labels
名词解释:Namespace
名词解释 Replication Controller
名词解释:Node
名词解释:ReplicaSets
名词解释 Services
名词解释 Volumes
名词解释:PV/PVC/StorageClass
名称解释:Deployment
名词解释:Secret
名词解释:StatefulSet
名词解释:DaemonSet
名词解释:Service Account
名词解释:CronJob
名词解释:Job
名词解释:Security Context和PSP
名词解释:Resource Quotas
名词解释:Network Policy
名词解释:Ingress
名词解释:ThirdPartyResources
名词解释:ConfigMap
名词解释:PodPreset
配置Kubernetes
管理应用:部署持续运行的应用
Horizontal Pod Autoscaling
管理应用:连接应用
管理应用: 在生产环境中使用Pods和容器
Kubernetes UI
Kube-API Server
授权插件
认证插件
API Server端口配置
Admission Controller
Service Accounts集群管理指南
使用Kubernetes在云上原生部署cassandra
Spark例子
Storm 示例
示例: 分布式任务队列 Celery, RabbitMQ和Flower
Kubernetes在Hazelcast平台上部署原生云应用
Meteor on Kuberenetes
配置文件使用入门
环境向导示例
在Kubernetes上运行你的第一个容器
kubectl
安装和设置kubectl
kubectl annotate
kubectl api-versions
kubectl apply
kubectl attach
kubectl cluster-info
kubectl config
kubectl config set-cluster
kubectl config set-context
kubectl config set-credentials
kubectl config set
kubectl config unset
kubectl config use-context
kubectl config view
kubectl create
kubectl delete
kubectl describe
kubectl edit
kubectl exec
kubectl logs
kubectl version
故障排查
应用程序相关的故障排查
 
 

环境向导示例
 
1303 次浏览
48次  

这个示例展示了pod,replication controller 和 service是如何运行的。示例给出了两种pod:前端pod和后端pod,在这两种pod的前面都有service与之连接。访问前端pod将返回他自己的环境变量信息,以及该pod通过service可以访问的后端pod。这个示例主要目的是说明在k8s集群里运行的容器时,可利用的环境变量元数据。

前提条件

这个示例假设你已经安装了可运行的k8s集群,并且安装了kubectl命令行工具且已经添加到了环境变量。

可选择:构建自己的容器

容器的代码在这里 containers/。

开始运行

kubectl create -f ./backend-rc.yaml
kubectl create -f ./backend-srv.yaml
kubectl create -f ./show-rc.yaml
kubectl create -f ./show-srv.yaml

查询service

用 kubectl describe service show-srv 来确认你的service 的public ip。

注意:如果你的平台不支持外网负载均衡,你需要在内网开一个合适的端口,并且直接连内网ip,用以上的命令来输出给前端的service。

运行 curl <public ip>:80 来查询service。 你应该得到返回信息:

Pod Name: show-rc-xxu6i
Pod Namespace: default
USER_VAR: important information

Kubernetes environment variables
BACKEND_SRV_SERVICE_HOST = 10.147.252.185
BACKEND_SRV_SERVICE_PORT = 5000
KUBERNETES_RO_SERVICE_HOST = 10.147.240.1
KUBERNETES_RO_SERVICE_PORT = 80
KUBERNETES_SERVICE_HOST = 10.147.240.2
KUBERNETES_SERVICE_PORT = 443
KUBE_DNS_SERVICE_HOST = 10.147.240.10
KUBE_DNS_SERVICE_PORT = 53

Found backend ip: 10.147.252.185 port: 5000
Response from backend
Backend Container
Backend Pod Name: backend-rc-6qiya
Backend Namespace: default

首先,打印前端pod的信息,其name和 namespace是从 Downward API检索出来的. 其次, USER_VAR 是我们定义在pod里的环境变量名字,然后,扫描动态的k8s环境变量并且打印,这些都是用来找出名字是backend-srv的后端的service。最后前端的pod向后端service请求并打印返回的信息。然后后端的pod返回他的pod的name和namespace。

尝试多次运行 curl 命令, 并且注意变化。例如: watch -n 1 curl -s <ip> 首先,前端的Service每次将你的请求分配到不同的前端pod,前端的pod通过后端的service与后端的pod连接,因此,每个的后端pod都可以处理各个请求。

清除工作

kubectl delete rc,service -l type=show-type
kubectl delete rc,service -l type=backend-type

您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



1303 次浏览
48次
 捐助