1. 基础配置方法:
此方法在pod中,只有一个名字叫web的docker容器
在myweb.yaml中
apiVersion: v1
kind: Pod
metadata:
name: myweb
labels:
name: myweb
spec:
containers:
- name: myweb
image: kubeguide/tomcat-app:v1
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: myweb
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30002
selector:
name: myweb
- 适用场景:
由于不能进行复制操作(无ReplicaSet),主要用在只使用一个pod完成服务提供的场景(较少见)。 - 运行:
kubectl create -f myweb.yaml
- 测试:
可以通过:http://[host-ip]:30002/
进行访问测试(host-ip可以是集群中任意的node)
2. 多容器情况:
以下配置,在一个pod中,加入两个容器myweb和mysql
文件名:myweb-mysql.yaml
apiVersion: v1
kind: Pod
metadata:
name: myweb-mysql
labels:
name: myweb-mysql
spec:
containers:
- name: mysql
image: mysql:5.7
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "123456"
- name: myweb
image: kubeguide/tomcat-app:v1
ports:
- containerPort: 8080
env:
- name: MYSQL_SERVICE_HOST
value: localhost
- name: MYSQL_SERVICE_PORT
value: '3306'
---
apiVersion: v1
kind: Service
metadata:
name: myweb
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30002
selector:
name: myweb-mysql
- 测试:
可以测试:http://[host-ip]:30002/demo
,测试mysql的连接使用情况。
网友评论