参考书籍:《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/










