软件开发架构师

《Kubernetes权威指南第2版》学习(三)RC学习

架构 46 2019-03-22 22:55

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这个端口在防火墙上打开,以便外部的访问能穿过防火墙。

 

文章评论