作者 Your Name
#!/bin/bash
export PATH=/root/local/bin:$PATH
kubectl -n mmm-suplus-test get pods | grep -q performance-back
if [ "$?" == "1" ];then
kubectl create -f /tmp/test/performance-back/performance-back.yaml --record
kubectl -n mmm-suplus-test get svc | grep -q performance-back
if [ "$?" == "0" ];then
echo "performance-back service install success!"
else
echo "performance-back service install fail!"
fi
kubectl -n mmm-suplus-test get pods | grep -q performance-back
if [ "$?" == "0" ];then
echo "performance-back deployment install success!"
else
echo "performance-back deployment install fail!"
fi
else
kubectl delete -f /tmp/test/performance-back/performance-back.yaml
kubectl -n mmm-suplus-test get svc | grep -q performance-back
while [ "$?" == "0" ]
do
kubectl -n mmm-suplus-test get svc | grep -q performance-back
done
kubectl -n mmm-suplus-test get pods | grep -q performance-back
while [ "$?" == "0" ]
do
kubectl -n mmm-suplus-test get pods | grep -q performance-back
done
kubectl create -f /tmp/test/performance-back/performance-back.yaml --record
kubectl -n mmm-suplus-test get svc | grep -q performance-back
if [ "$?" == "0" ];then
echo "performance-back service update success!"
else
echo "performance-back service update fail!"
fi
kubectl -n mmm-suplus-test get pods | grep -q performance-back
if [ "$?" == "0" ];then
echo "performance-back deployment update success!"
else
echo "performance-back deployment update fail!"
fi
fi
\ No newline at end of file
... ...
apiVersion: v1
kind: Service
metadata:
name: performance-back
namespace: mmm-suplus-test
labels:
k8s-app: performance-back
spec:
ports:
- name: "http"
port: 80
targetPort: 8080
- name: "https"
port: 443
targetPort: 443
selector:
k8s-app: performance-back
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: performance-back
namespace: mmm-suplus-test
labels:
k8s-app: performance-back
spec:
replicas: 1
template:
metadata:
labels:
k8s-app: performance-back
spec:
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- preference: {}
weight: 100
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- cn-hangzhou.i-bp1djh1xn7taumbue1ze
- cn-hangzhou.i-bp1djh1xn7taumbue1zd
- cn-hangzhou.i-bp1euf5u1ph9kbhtndhb
- cn-hangzhou.i-bp1hyp5oips9cdwxxgxy
containers:
- name: performance-back
image: 192.168.0.243:5000/mmm/performance-back:dev
imagePullPolicy: Always
ports:
- containerPort: 8080
- containerPort: 443
volumeMounts:
- mountPath: /opt/logs
name: accesslogs
- mountPath: /go/src/sg-storage/uploads
name: sgstorage-pvc1
env:
- name: LOG_LEVEL
value: "debug"
- name: LOG_FILE
value: "true"
- name: ERROR_BASE_CODE
value: "1"
- name: ERROR_BASE_CODE_MULTIPLE
value: "1000"
- name: POSTGRESQL_DB_NAME
value: "performance_test"
- name: ENABLE_HTTPS
value: "true"
- name: POSTGRESQL_USER
valueFrom:
configMapKeyRef:
name: suplus-config
key: postgresql.user
- name: POSTGRESQL_PASSWORD
valueFrom:
configMapKeyRef:
name: suplus-config
key: postgresql.password
- name: POSTGRESQL_HOST
valueFrom:
configMapKeyRef:
name: suplus-config
key: postgresql.host
- name: POSTGRESQL_PORT
valueFrom:
configMapKeyRef:
name: suplus-config
key: postgresql.port
- name: REDIS_HOST
valueFrom:
configMapKeyRef:
name: suplus-config
key: redis.ip
- name: REDIS_PORT
valueFrom:
configMapKeyRef:
name: suplus-config
key: redis.port
- name: KAFKA_HOSTS
valueFrom:
configMapKeyRef:
name: suplus-config
key: kafka.host
- name: KAFKA_PERFORMANCE_ID
valueFrom:
configMapKeyRef:
name: suplus-config
key: kafkaperformance.id
volumes:
- name: accesslogs
emptyDir: {}
- name: sgstorage-pvc1
persistentVolumeClaim:
claimName: sgstorage-pvc
\ No newline at end of file
... ...