首页 > 其他分享 >k8s deployment

k8s deployment

时间:2024-06-15 11:44:19浏览次数:21  
标签:toYaml end name deployment Values nindent k8s resources

 

# Default values for chart.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

replicaCount: 2
minReadySeconds: 1
strategy:
  type: RollingUpdate
  RollingUpdate:
    maxSurge: 1
    maxUnavailable: 0
image:
  repository: 192.168.50.32/baize-dev/tally
  pullPolicy: Always
  # Overrides the image tag whose default is the chart appVersion.
  tag: "feature-3.0.0"

restartPolicy: Always
imagePullSecrets: []
nameOverride: "tally"
fullnameOverride: ""

podAnnotations: {}
podLabels: {}

podSecurityContext:
  runAsUser: 2000
  runAsGroup: 2000
  fsGroup: 2000

securityContext: {}
  # capabilities:
  #   drop:
  #   - ALL
  # readOnlyRootFilesystem: true
  # runAsNonRoot: true
  # runAsUser: 1000

service:
  type: NodePort
  port: 32080
  nodePort: 32080

debug:
  port: 32089
  nodePort: 32089

app:
  profilesActive: dev
  nacos:
    namespace: dev01
    username: dev
    password: lZSnUj5cEmAv3VY1rQHL2FTdIxayuoif
    serverAddr: 192.168.60.11:8848

resources: {}
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  # limits:
  #   cpu: 100m
  #   memory: 128Mi
  # requests:
  #   cpu: 100m
  #   memory: 128Mi

livenessProbe:
  exec:
    command:
      - /bin/bash
      - -c
      - /check_health/check_http_health.sh
  initialDelaySeconds: 60
  periodSeconds: 60
  timeoutSeconds: 10
  successThreshold: 1
  failureThreshold: 3
readinessProbe:
  httpGet:
    path: /tally/actuator/health/ping
    port: 32080
  initialDelaySeconds: 5
  periodSeconds: 10
  timeoutSeconds: 5
  successThreshold: 1
  failureThreshold: 3
startupProbe:
  exec:
    command:
      - /bin/bash
      - -c
      - /check_health/check_http_health.sh
  initialDelaySeconds: 30
  periodSeconds: 30
  timeoutSeconds: 10
  successThreshold: 1
  failureThreshold: 10

autoscaling:
  enabled: false
  minReplicas: 1
  maxReplicas: 100
  targetCPUUtilizationPercentage: 80
  # targetMemoryUtilizationPercentage: 80

# Additional volumes on the output Deployment definition.
volumes:
# - name: foo
#   secret:
#     secretName: mysecret
#     optional: false
  - name: data-storage
    persistentVolumeClaim:
      claimName: data-storage
      readOnly: false

# Additional volumeMounts on the output Deployment definition.
volumeMounts:
# - name: foo
#   mountPath: "/etc/foo"
#   readOnly: true
  - name: data-storage
    mountPath: /data/storage

nodeSelector: {}

tolerations: []

affinity: {}

 

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Values.nameOverride }}
  labels:
    app: {{ .Values.nameOverride }}
spec:
  minReadySeconds: {{ .Values.minReadySeconds }}
  {{ - with .Values.strategy }}
  strategy:
    {{- toYaml . | nindent 4 }}
  {{- end }}
  {{- if not .Values.autoscaling.enabled }}
  replicas: {{ .Values.replicaCount }}
  {{- end }}
  selector:
    matchLabels:
      app: {{ .Values.nameOverride }}
  template:
    metadata:
      {{- with .Values.podAnnotations }}
      annotations:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      labels:
        app: {{ .Values.nameOverride }}
    spec:
      {{- with .Values.imagePullSecrets }}
      imagePullSecrets:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      securityContext:
        {{- toYaml .Values.podSecurityContext | nindent 8 }}
      restartPolicy: {{ .Values.restartPolicy }}
      containers:
        - name: {{ .Values.nameOverride }}
          securityContext:
            {{- toYaml .Values.securityContext | nindent 12 }}
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
          imagePullPolicy: {{ .Values.image.pullPolicy }}
          envFrom:
            - configMapRef:
                name: {{ .Values.nameOverride }}-conf
          livenessProbe:
            {{- toYaml .Values.livenessProbe | nindent 12 }}
          readinessProbe:
            {{- toYaml .Values.readinessProbe | nindent 12 }}
          startupProbe:
            {{- toYaml .Values.startupProbe | nindent 12 }}
          resources:
            {{- toYaml .Values.resources | nindent 12 }}
          {{- with .Values.volumeMounts }}
          volumeMounts:
            {{- toYaml . | nindent 12 }}
          {{- end }}
      {{- with .Values.volumes }}
      volumes:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.nodeSelector }}
      nodeSelector:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.affinity }}
      affinity:
        {{- toYaml . | nindent 8 }}
      {{- end }}
      {{- with .Values.tolerations }}
      tolerations:
        {{- toYaml . | nindent 8 }}
      {{- end }}

 

标签:toYaml,end,name,deployment,Values,nindent,k8s,resources
From: https://www.cnblogs.com/exmyth/p/18249129

相关文章

  • K8S故障处理:临时设置节点为不可调度(cordon与drain区别)
    在Kubernetes中,节点驱逐是一种管理和维护集群的重要操作,允许节点在维护、升级或者发生故障时从集群中移除,等到节点修复后,再重新承担pod调度功能。1.K8s节点驱逐节点驱逐是指将节点上运行的Pod迁移到其他可用节点上,并暂时从集群中移除目标节点。这个操作通常在节点维护、系统升级......
  • centos7.9部署k8s的几种方式
    目录一、常见的k8s部署方式1、使用kubeadm工具部署2、基于二进制文件的部署方式3、云服务提供商的托管Kubernetes服务4、使用容器镜像部署或自动化部署工具二、使用kubeadm工具部署1、硬件准备(虚拟主机)2、环境准备2.1、所有机器关闭防火墙2.2、所有机器关闭selinux2.3、所有机器......
  • 43、k8s-数据存储-高级存储-生命周期
    ·资源供应:管理员手动创建底层存储和PV·资源绑定:用户创建PVC,kubernetes负责根据PVC的声明去寻找PV,并绑定在用户定义好PVC之后,系统将根据PVC对存储资源的请求在已存在的PV中选择一个满足条件的。一旦找到,就将该PV与用户定义的PVC进行绑定,用户的应用就可以使用这个PVC了、如......
  • 42、k8s-数据存储-高级存储-pv和pvc、NFS服务器
    PV(PersistentVolume)是持久化卷的意思、是对底层的共享存储的一种抽象、一般情况下PV有kubernetes管理员进行创建和配置、他与底层具体的共享存储技术有关、并通过插件完成于共享存储的对接PVC(PersistentVolumeClaim)是持久卷声明的意思、是用户对于存储需求的一种声明、换句话......
  • 6、k8s-资源管理方式-命令式对象管理-命令式对象配置-声明式对象配置--一切皆是资源
    注意:资源管理的三种方式都是在master节点上运行的、如果想在node节点上运行下边的指令操作、需要将master节点上的配置文件 .kube/ 复制到node节点上:(scp -r/root/.kube/  node1:/root/.kube)资源管理方式:三种方式1、命令式对象管理--直接使用命令去操作kubernetes资源......
  • K8S环境部署Prometheus
    K8S环境部署Prometheus记录在K8S1.18版本环境下部署Prometheus0.5版本。1.下载kube-prometheus仓库gitclonehttps://github.com/coreos/kube-prometheus.gitcdkube-prometheus笔者安装的K8S版本是1.18,prometheus选择配套的分支release-0.5:#切换到release-0.5gitc......
  • 实战 k8s----初识
    什么是k8s?k8s是谷歌开源的一套完整的容器管理平台,方便我们直接管理容器应用。谷歌称之为,kubernetes,[kubə’netis],(跟我一起读库波尔耐题思,重音在耐的音上),由于字母太多,我们简称为k8s,8代表k-->s之间的8个字母。kubernetes译为舵手,标识是一个航海舵。而容器直译为集装箱,也就是舵手......
  • K8S部署Metrics-Server
    K8S部署Metrics-Server1)下载manifest的YAMLwgethttps://github.com/kubernetes-sigs/metrics-server/releases/latest/download/high-availability-1.21+.yaml2)编辑需要在添加-–kubelet-insecure-tlscontainers:-args:---kubelet-insecure-t......
  • SQLCMD 密码中的 K8S 秘密用法始终为空
    我试图使用K8Ssecret密码连接到SQL服务器,但无论我使用什么语法或方法,密码总是空的。如果我硬编码密码,则一切正常。我还可以使用此命令在POD中打印密码,它还会返回存储在密码中的密码,因此POD可以实际访问密码。kubectlexec-itpodname--printenvMSS......
  • 基于GO语言,K8s+gRPC实战云原生微服务
    介绍K8s在云原生微服务开发中,作为微服务治理框架越来越受企业的青睐,掌握该技术解决方案更有竞争力,课程从企业实际开发中提取精髓,从K8s、gRPC底层原理剖析到服务治理解决方案设计落地,到云上部署,更平滑的学习曲线,助力你成为云原生开发领域的牛人。你将学到掌握整套K8s微服务......