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