一、rc/deployment,保证有指定数量的pod资源在运行;svc让pod资源能够被外界所访问
二、定义mysql-rc.yaml文件
[root@k8s-master tomcat]# cat mysql-rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: mysql
spec:
replicas: 1
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: 10.0.0.11:5000/mysql:5.7
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: '123456'
三、定义mysql-svc.yaml文件
[root@k8s-master tomcat]# cat mysql-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
targetPort: 3306
selector:
app: mysql
四、运行mysql的rc+svc资源
[root@k8s-master tomcat]# kubectl create -f mysql-rc.yaml
replicationcontroller "mysql" created
[root@k8s-master tomcat]# kubectl create -f mysql-svc.yml
service "mysql" created
五、查看mysql-svc的vip地址
[root@k8s-master tomcat]# kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.254.0.1 <none> 443/TCP 1h
mysql 10.254.55.178 <none> 3306/TCP 19m
六、定义tomcat-rc.yaml文件
[root@k8s-master tomcat]# cat tomcat-rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: myweb
spec:
replicas: 1
template:
metadata:
labels:
app: myweb
spec:
containers:
- name: myweb
image: 10.0.0.11:5000/tomcat-app:v2
ports:
- containerPort: 8080
env:
- name: MYSQL_SERVICE_HOST
value: '10.254.55.178' #vip地址连接mysql
- name: MYSQL_SERVICE_PORT
value: '3306'
七、定义tomcat-svc.yaml文件
[root@k8s-master tomcat]# cat tomcat-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: myweb
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30008
selector:
app: myweb
八、运行tomcat的rc+svc资源
[root@k8s-master tomcat]# kubectl create -f tomcat-rc.yaml
replicationcontroller "myweb" created
[root@k8s-master tomcat]# kubectl create -f tomcat-svc.yaml
service "myweb" created
九、pod资源正常运行
[root@k8s-master tomcat]# kubectl get pod
NAME READY STATUS RESTARTS AGE
mysql-zwr37 1/1 Running 0 13m
myweb-txm2n 1/1 Running 0 1m
十、页面访问 10.0.0.12:30008
0 Comments