1 Star 0 Fork 18

downloadproject / kubeasz

forked from 烂泥行天下 / kubeasz 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
app.yaml.md 1.70 KB
一键复制 编辑 原始数据 按行查看 历史
gjmzj 提交于 2019-11-07 11:24 . minor fix

3.3 K8S 应用部署模板 app.yaml

以下示例配置仅做参考,描述一个简单 java spring boot项目的 k8s 部署文件模板;在实际部署前,CI/CD流程中会对变量做替换。详见 gitlab-ci.yml文件

cat > .ci/app.yaml << EOF
---
apiVersion: v1
kind: Namespace
metadata:
  name: PROJECT_NS
---
apiVersion: v1
kind: Secret
metadata:
  name: harborkey1
  namespace: PROJECT_NS
data:
    #待替换的变量DOCKER_KEY,参考 docs/guide/harbor.md#k8s%E4%B8%AD%E4%BD%BF%E7%94%A8harbor
    .dockerconfigjson: DOCKER_KEY
type: kubernetes.io/dockerconfigjson

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: APP_NAME
  namespace: PROJECT_NS
spec:
  replicas: APP_REP
  template:
    metadata:
      labels:
        run: APP_NAME
    spec:
      containers:
      - name: APP_NAME
        image: ProjectImage
        env:
          # 设置java的时区
          - name: TZ
            value: "Asia/Shanghai"
        resources:
          limits:
            cpu: 500m
            memory: 1600Mi
          requests:
            cpu: 200m
            memory: 800Mi
        ports:
        - containerPort: 8080
      imagePullSecrets:
      - name: harborkey1

---
apiVersion: v1
kind: Service
metadata:
  labels:
    run: APP_NAME
  name: APP_NAME
  namespace: PROJECT_NS
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080
  selector:
    run: APP_NAME
  sessionAffinity: None

---
apiVersion: networking.k8s.io/v1beta1 
kind: Ingress
metadata:
  name: APP_NAME-ingress
  namespace: PROJECT_NS
spec:
  rules:
  - host: AppDomain
    http:
      paths:
      - path: /AppPath
        backend:
          serviceName: APP_NAME
          servicePort: 80
EOF
1
https://gitee.com/projectdownload/kubeasz.git
git@gitee.com:projectdownload/kubeasz.git
projectdownload
kubeasz
kubeasz
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891