zabbix ReplicationController模板
在11节点执行如下的yaml文件 分别是zabbix的rc文件和zabbix的svc文件
在13节点 上传rc中所需要的镜像 因为使用分配策略时指定了是在13节点本地获取镜像 如果有 就不从私有仓库拉去镜像
always :总是从镜像仓库上拉取最新镜像
never:从不从私有仓库拉取镜像
ifnotpresent:如果本地有镜像,就不从私有仓库拉取镜像
多个服务写在一个资源yaml中
三个短横杆隔开
zabbix-rc.yml
apiVersion: v1
kind: ReplicationController
metadata:
name: mysql-server
spec:
replicas: 1
selector:
app: mysql-server
template:
metadata:
labels:
app: mysql-server
spec:
nodeName: 10.0.0.13
containers:
- name: mysql
image: 10.0.0.11:5000/mysql:5.7
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3306
args: ["--character-set-server=utf8","--collation-server=utf8_bin"]
env:
- name: MYSQL_ROOT_PASSWORD
value: 'root_pwd'
- name: MYSQL_DATABASE
value: 'zabbix'
- name: MYSQL_USER
value: 'zabbix'
- name: MYSQL_PASSWORD
value: 'zabbix_pwd'
---
apiVersion: v1
kind: ReplicationController
metadata:
name: zabbix-java-gateway
spec:
replicas: 1
selector:
app: zabbix-java-gateway
template:
metadata:
labels:
app: zabbix-java-gateway
spec:
nodeName: 10.0.0.13
containers:
- name: zabbix-java-gateway
imagePullPolicy: IfNotPresent
image: 10.0.0.11:5000/zabbix-java-gateway:latest
---
apiVersion: v1
kind: ReplicationController
metadata:
name: zabbix-server
spec:
replicas: 1
selector:
app: zabbix-server
template:
metadata:
labels:
app: zabbix-server
spec:
nodeName: 10.0.0.13
containers:
- name: zabbix-server
imagePullPolicy: IfNotPresent
image: 10.0.0.11:5000/zabbix-server-mysql:latest
ports:
- containerPort: 10051
env:
- name: DB_SERVER_HOST
value: 'mysql-server'
- name: MYSQL_DATABASE
value: 'zabbix'
- name: MYSQL_USER
value: 'zabbix'
- name: MYSQL_PASSWORD
value: 'zabbix_pwd'
- name: MYSQL_ROOT_PASSWORD
value: 'root_pwd'
- name: ZBX_JAVAGATEWAY
value: 'zabbix-java-gateway'
---
apiVersion: v1
kind: ReplicationController
metadata:
name: zabbix-web-nginx-mysql
spec:
replicas: 1
selector:
app: zabbix-web-nginx-mysql
template:
metadata:
labels:
app: zabbix-web-nginx-mysql
spec:
nodeName: 10.0.0.13
containers:
- name: zabbix-web-nginx-mysql
imagePullPolicy: IfNotPresent
image: 10.0.0.11:5000/zabbix-web-nginx-mysql:latest
ports:
- containerPort: 80
env:
- name: DB_SERVER_HOST
value: 'mysql-server'
- name: MYSQL_DATABASE
value: 'zabbix'
- name: MYSQL_USER
value: 'zabbix'
- name: MYSQL_PASSWORD
value: 'zabbix_pwd'
- name: MYSQL_ROOT_PASSWORD
value: 'root_pwd'
zabbix-svc.yml
apiVersion: v1
kind: Service
metadata:
name: mysql-server
spec:
ports:
- port: 3306
targetPort: 3306
selector:
app: mysql-server
---
apiVersion: v1
kind: Service
metadata:
name: zabbix-java-gateway
spec:
ports:
- port: 10052
targetPort: 10052
selector:
app: zabbix-java-gateway
---
apiVersion: v1
kind: Service
metadata:
name: zabbix-server
spec:
type: NodePort
ports:
- port: 10051
nodePort: 10051
targetPort: 10051
selector:
app: zabbix-server
---
apiVersion: v1
kind: Service
metadata:
name: zabbix-web-nginx-mysql
spec:
type: NodePort
ports:
- port: 80
nodePort: 30007
targetPort: 80
selector:
app: zabbix-web-nginx-mysql