k8s部署nginx

服务yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: link-web
  namespace: tophc
spec:
  replicas: 1
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: link-web
    spec:
      imagePullSecrets:
      - name: tophc-harbor
      containers:
      - name: link-web
        env:
        - name: springProfiles
          value: prod
        - name: TZ
          value: CST-8
        image: harzzzzzozphc.top/tophc/link-web:latest
        imagePullPolicy: Always
        ports:
          - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: link-web
  name: link-web
  namespace: tophc
spec:
  ports:
  - name: http
    port: 80
    targetPort: 80
  selector:
    app: link-web
  type: ClusterIP

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  labels:
    env: prod
    project: tophc
    service: link-web
  name: link-web-80
  namespace: tophc
spec:
  rules:
  - host: link.tophc.top
    http:
      paths:
      - backend:
          serviceName: link-web
          servicePort: 80
        path: /

打包脚本

#!/bin/bash
sh -x
echo "打包构建"
docker build . -t hazzzzz.top/tophc/link-web:${BUILD_NUMBER}
docker push hazzzhc.top/tophc/link-web:${BUILD_NUMBER}
docker rmi -f hzzzzztzzphc.top/tophc/link-web:${BUILD_NUMBER}



#!/bin/bash
sh -x
echo "自动发布"
CLUSTER_NAME="tks-nodepool-37065081.dc2.tophc.top"
NAMESPACE="txxxhc"
kubectl --context ${CLUSTER_NAME} set image deployment/link-web link-web=harborxxxc.top/txxxhc/link-web:${BUILD_NUMBER} --namespace=${NAMESPACE}
kubectl --context ${CLUSTER_NAME} rollout status deployment link-web --namespace=${NAMESPACE}

if [ $? -ne 0 ];then
  echo "发布失败"
  exit 1
else
  echo "..."
fi



#!/bin/bash
sh -x
echo "自动清理镜像"
harbor_url="harbor.txxx.top"
USER="jenkins"
PASSWD="Txxxx!@#"
project1="xxxx"
project2="link-web"

if [ $BUILD_NUMBER -gt 30 ]; then
   tag=$(($BUILD_NUMBER-30))
   echo "$BUILD_NUMBER great than 30, ${tag}'s image will be deleted!"
   curl -u "$USER:$PASSWD" -X DELETE -H "Content-Type: application/json" -k "https://${harbor_url}/api/repositories/${project1}/${project2}/tags/${tag}"
elif [ $BUILD_NUMBER -lt 30 ]; then
   echo "$BUILD_NUMBER less than 30"
else
   echo $BUILD_NUMBER equal 30
fi

猜你喜欢

转载自www.cnblogs.com/lizhaojun-ops/p/12670831.html