作者 tangxvhui
#!/bin/bash
export PATH=/root/local/bin:$PATH
kubectl -n mmm-suplus-prd get pods | grep -q sumifcc-discuss
if [ "$?" == "1" ];then
kubectl create -f /tmp/prd/sumifcc-discuss/sumifcc-discuss.yaml --record
kubectl -n mmm-suplus-prd get svc | grep -q sumifcc-discuss
if [ "$?" == "0" ];then
echo "sumifcc-discuss service install success!"
else
echo "sumifcc-discuss service install fail!"
fi
kubectl -n mmm-suplus-prd get pods | grep -q sumifcc-discuss
if [ "$?" == "0" ];then
echo "sumifcc-discuss deployment install success!"
else
echo "sumifcc-discuss deployment install fail!"
fi
else
kubectl delete -f /tmp/prd/sumifcc-discuss/sumifcc-discuss.yaml
kubectl -n mmm-suplus-prd get svc | grep -q sumifcc-discuss
while [ "$?" == "0" ]
do
kubectl -n mmm-suplus-prd get svc | grep -q sumifcc-discuss
done
kubectl -n mmm-suplus-prd get pods | grep -q sumifcc-discuss
while [ "$?" == "0" ]
do
kubectl -n mmm-suplus-prd get pods | grep -q sumifcc-discuss
done
kubectl create -f /tmp/prd/sumifcc-discuss/sumifcc-discuss.yaml --record
kubectl -n mmm-suplus-prd get svc | grep -q sumifcc-discuss
if [ "$?" == "0" ];then
echo "sumifcc-discuss service update success!"
else
echo "sumifcc-discuss service update fail!"
fi
kubectl -n mmm-suplus-prd get pods | grep -q sumifcc-discuss
if [ "$?" == "0" ];then
echo "sumifcc-discuss deployment update success!"
else
echo "sumifcc-discuss deployment update fail!"
fi
fi
\ No newline at end of file
... ...
apiVersion: v1
kind: Service
metadata:
name: sumifcc-discuss
namespace: mmm-suplus-prd
labels:
k8s-app: sumifcc-discuss
spec:
ports:
- name: "http"
port: 80
targetPort: 8081
- name: "https"
port: 443
targetPort: 443
selector:
k8s-app: sumifcc-discuss
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: sumifcc-discuss
namespace: mmm-suplus-prd
labels:
k8s-app: sumifcc-discuss
spec:
replicas: 1
template:
metadata:
labels:
k8s-app: sumifcc-discuss
spec:
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- preference: {}
weight: 100
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- cn-hangzhou.i-bp1djh1xn7taumbue1ze
containers:
- name: sumifcc-discuss
image: 192.168.0.243:5000/mmm/sumifcc-discuss:master
imagePullPolicy: Always
ports:
- containerPort: 8081
- containerPort: 443
volumeMounts:
- mountPath: /opt/logs
name: accesslogs
env:
- name: LOG_LEVEL
value: "debug"
- name: LOG_FILE
value: "true"
- name: REDIS_HOST
valueFrom:
configMapKeyRef:
name: suplus-config
key: redis.ip
- name: REDIS_PORT
valueFrom:
configMapKeyRef:
name: suplus-config
key: redis.port
volumes:
- name: accesslogs
emptyDir: {}
... ...