1 RC文件介绍:
kind: ReplicationController,表示是一个RC;
spec.selector: RC的Pod标签(Label)选择器,监控和管理拥有这些标签的Pod实例,确保
spec.replicas个实例在运行。当运行的实例小于这个数,会安装spec.template
定义的Pod模板生成新的实例。
(注意,spec.template.metadata.labels指定了Pod的标签,这里的labels必须匹配之前
的spec.selector,否则会不停的常见Pod... ...)
2:如何把RC文件发布到Kubernetes集群
在Master节点执行:
#kubectl create -f mysql-rc.yaml
查看创建的RC:
# kubectl get rc
查看pod运行情况:
# kubectl get pods
查看docker运行情况:
# docker ps | grep mysql
3: 创建与上面关联的Kubernetes service, MySQL的文件定义: mysql-svc.yaml.
metadata.name : Service服务名称(ServiceName)。
port: 定义了service的虚端口;
spec.selector: 确定了哪些Pod副本(实例)对应到本服务。
创建Service:
# kubectl create -f mysql-svc.yaml
查看创建的Service:
# kubectl get svc
这样, MySQL服务被分配Cluster IP的虚地址,Kubernetes集群中其他新创建的Pod就可以通过Service的Cluster Ip + 端口来访问了。
4: Tomcat的RC文件中有type = NodePort和nodePort = 30001两个属性
表明Tomcat service开启了NodePort方式的外网访问模式
需要把30001这个端口在防火墙上打开,以便外部的访问能穿过防火墙。