nginxnode
nginx-rc.yamlmysql
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx-controller
labels:
name: nginx
spec:
replicas: 2
selector:
name: nginx
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: docker.io/blacklabelops/nginx
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
nginx-svc.yamlnginx
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
name: nginx-servcie
spec:
type: NodePort
ports:
- port: 8000
protocol: TCP
targetPort: 80
nodePort: 30088
selector:
name: nginx
mysqlweb
mysql-rc.yamlsql
apiVersion: v1
kind: ReplicationController
metadata:
name: mysql
spec:
replicas: 1
selector:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "123456"
mysql-svc.yamldocker
apiVersion: v1
kind: Service #代表是K8s Service
metadata:
name: mysql #Service的全局惟一名稱
spec:
ports:
- port: 3306 #Service提供服務的端口號
selector: #Service對應的Pod擁有這裏定義的標籤
app: mysql
mywebapi
myweb-rc.yamltomcat
apiVersion: v1
kind: ReplicationController
metadata:
name: myweb
spec:
replicas: 1 #Pod副本期待數量爲5
selector:
app: myweb
template:
metadata:
labels:
app: myweb
spec:
containers:
- name: myweb
image: kubeguide/tomcat-app:v1
ports:
- containerPort: 8080
env:
- name: MYSQL_SERVICE_HOST
value: "mysql"
- name: MYSQL_SERVICE_PORT
value: "3306"
myweb-svc.yamlapp
apiVersion: v1
kind: Service
metadata:
name: myweb
spec:
type: NodePort
ports:
- port: 8080
nodePort: 31111
selector:
app: myweb