参考书籍:《Kubernetes权威指南第4版从Docker到Kubernetes实践全接触》
一、启动MySQL服务
1.创建一个RC定义文件mysql-rc.yaml
apiVersionv1            #核心API
kindReplicationController     #副本控制器RC
metadata
  namemysql           #RC的名称,全局唯一
spec
  replicas1           #Pod副本的期待数量
  selector
    appmysql            #监控和管理拥有mysql标签的Pod
  template
  metadata
      labels
      appmysql          #Pod的标签,必须与RC的selector一致
    spec
      containers#Pod内容器的定义部分
namemysql         #容器名
        imagemysql        #镜像名
        imagePullPolicyIfNotPresent   #本地有该镜像,就不去拉取
        ports
containerPort3306   #容器应用监听的端口
        env
nameMYSQL_ROOT_PASSWORD #注入容器内的环境变量
          value"123456"
2.执行如下命令,将mysql-rc.yaml发布到Kubernetes集群中
kubectl create -f mysql-rc.yaml
kubectl get rc      #查看刚才创建的RC
kubectl get pod     #查看Pod的创建情况,STATUS为Running则创建成功
3.创建一个与之关联的Service文件mysql-svc.yaml
apiVersionv1
kindService         #表明是kubernetes Service
metadata
  namemysql         #Service的全局唯一名称
spec
  ports
port3306        #Service提供服务的端口号
  selector#选择哪些Pod提供服务
  appmysql
4.执行如下命令,创建service
kubectl create -f mysql-svc.yaml
kubectl get svcMySQL服务被分配了一个Cluster IP,那么K8S集群中其他Pod就可以通过Cluster IP + 端口号3306来访问MySQL服务
二、启动Tomcat应用
1.创建RC文件myweb-rc.yaml
apiVersionv1
kindReplicationController
metadata
  namemyweb
spec
  replicas2
  selector
  appmyweb
  template
    metadata
    labels
      appmyweb
    spec
    containers
namemyweb
      imagekubeguide/tomcat-appv1
      ports
containerPort8080
      env
nameMYSQL_SERVER_HOST
      value169.169.253.143      #MySQL服务的Cluster IP,后面会通过服务名称去访问
2.运行下面命令,完成RC的创建和验证
kubectl create -f myweb-rc.yaml
kubectl get pod
3.创建对应的Service文件myweb-svc.yaml
apiVersionv1
kindService
metadata
  namemyweb
  spec
  typeNodePort          #开启NodePort外网访问模式
  ports
port8080
    nodePort30001     #外网访问端口
  selector
    appmyweb三、浏览器访问
访问地址:http://任意Node节点IP地址:30001/demo/
                
                










