k8s部署tomcat+mysql服务
发布MySQL RCmysql-rc.yamlapiVersion: v1kind: ReplicationController # 副本控制器RCmetadata:name: mysql # RC的名称,全局唯一spec:replicas: 1 # Pod副本的期待数量selector:app: mysql # 符合目标的pod拥有此标签template: # 根据此模板创建Pod的副本meta
·
发布MySQL RC
mysql-rc.yaml
apiVersion: v1
kind: ReplicationController # 副本控制器RC
metadata:
name: mysql # RC的名称,全局唯一
spec:
replicas: 1 # Pod副本的期待数量
selector:
app: mysql # 符合目标的pod拥有此标签
template: # 根据此模板创建Pod的副本
metadata:
labels:
app: mysql # Pod副本拥有的标签,对应RC的Selector
spec:
containers: # Pod内容器的定义部分
- name: mysql # 容器的名称
image: mysql # 容器对应的Docker Image
ports:
- containerPort: 3306 # 容器内应用监听的端口号
env: # 注入容器内的环境变量
- name: MYSQL_ROOT_PASSWORD
value: "123456"
发布命令
kubectl create -f mysql-rc.yaml
查看创建的RC
kubectl get rc
查看Pod的创建情况
kubectl get pods
发布MySQL Service
mysql-svc.yaml
apiVersion: v1
kind: Service # 表明是Kubernetes Service
metadata:
name: mysql # Service的名称,全局唯一
spec:
ports:
- port: 3306 # Service提供服务的端口号
selector: # Service对应的Pod拥有这里的标签
app: mysql
创建Service
kubectl create -f mysql-svc.yaml
查看刚刚创建的Service
kubectl get svc
发布Tomcat RC
myweb-rc.yaml
apiVersion: v1
kind: ReplicationController # 副本控制器RC
metadata:
name: myweb # RC的名称,全局唯一
spec:
replicas: 2 # Pod副本的期待数量
selector:
app: myweb # 符合目标的pod拥有此标签
template: # 根据此模板创建Pod的副本
metadata:
labels:
app: myweb # Pod副本拥有的标签,对应RC的Selector
spec:
containers: # Pod内容器的定义部分
- name: myweb # 容器的名称
image: kubeguide/tomcat-app:v1 # 容器对应的Docker Image
ports:
- containerPort: 8080 # 容器内应用监听的端口号
env: # 注入容器内的环境变量
- name: MYSQL_SERVICE_HOST
value: 10.111.122.226
创建RC
kubectl create -f myweb-rc.yaml
发布Tomcat Service
myweb-svc.yaml
apiVersion: v1
kind: Service # 表明是Kubernetes Service
metadata:
name: myweb # Service的名称,全局唯一
spec:
type: NodePort # 开启外网访问
ports:
- port: 8080 # Service提供服务的端口号
nodePort: 30001 # 外网访问端口
selector: # Service对应的Pod拥有这里的标签
app: myweb
创建Service
kubectl create -f myweb-svc.yaml
访问测试
http://192.168.18.11:30001/
更多推荐
已为社区贡献14条内容
所有评论(0)