GithubHelp home page GithubHelp logo

helm-chart's Introduction

Podinfo

Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes.

Podinfo is used by CNCF projects like Flux and Flagger for end-to-end testing and workshops.

Installing the Chart

To install the chart with the release name my-release:

$ helm repo add podinfo https://stefanprodan.github.io/podinfo

$ helm upgrade -i my-release podinfo/podinfo

The command deploys podinfo on the Kubernetes cluster in the default namespace. The configuration section lists the parameters that can be configured during installation.

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following tables lists the configurable parameters of the podinfo chart and their default values.

Parameter Default Description
replicaCount 1 Desired number of pods
logLevel info Log level: debug, info, warn, error
backend None Echo backend URL
backends [] Array of echo backend URLs
cache None Redis address in the format <host>:<port>
redis.enabled false Create Redis deployment for caching purposes
ui.color #34577c UI color
ui.message None UI greetings message
ui.logo None UI logo
faults.delay false Random HTTP response delays between 0 and 5 seconds
faults.error false 1/3 chances of a random HTTP response error
faults.unhealthy false When set, the healthy state is never reached
faults.unready false When set, the ready state is never reached
faults.testFail false When set, a helm test is included which always fails
faults.testTimeout false When set, a helm test is included which always times out
image.repository stefanprodan/podinfo Image repository
image.tag <VERSION> Image tag
image.pullPolicy IfNotPresent Image pull policy
service.enabled true Create a Kubernetes Service, should be disabled when using Flagger
service.type ClusterIP Type of the Kubernetes Service
service.metricsPort 9797 Prometheus metrics endpoint port
service.httpPort 9898 Container HTTP port
service.externalPort 9898 ClusterIP HTTP port
service.grpcPort 9999 ClusterIP gPRC port
service.grpcService podinfo gPRC service name
service.nodePort 31198 NodePort for the HTTP endpoint
h2c.enabled false Allow upgrading to h2c (non-TLS version of HTTP/2)
hpa.enabled false Enables the Kubernetes HPA
hpa.maxReplicas 10 Maximum amount of pods
hpa.cpu None Target CPU usage per pod
hpa.memory None Target memory usage per pod
hpa.requests None Target HTTP requests per second per pod
serviceAccount.enabled false Whether a service account should be created
serviceAccount.name None The name of the service account to use, if not set and create is true, a name is generated using the fullname template
securityContext {} The security context to be set on the podinfo container
linkerd.profile.enabled false Create Linkerd service profile
serviceMonitor.enabled false Whether a Prometheus Operator service monitor should be created
serviceMonitor.interval 15s Prometheus scraping interval
serviceMonitor.additionalLabels {} Add additional labels to the service monitor
ingress.enabled false Enables Ingress
ingress.annotations {} Ingress annotations
ingress.path /* Ingress path
ingress.hosts [] Ingress accepted hosts
ingress.tls [] Ingress TLS configuration
resources.requests.cpu 1m Pod CPU request
resources.requests.memory 16Mi Pod memory request
resources.limits.cpu None Pod CPU limit
resources.limits.memory None Pod memory limit
nodeSelector {} Node labels for pod assignment
tolerations [] List of node taints to tolerate
affinity None Node/pod affinities
podAnnotations {} Pod annotations

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

$ helm install my-release podinfo/podinfo \
  --set=serviceMonitor.enabled=true,serviceMonitor.interval=5s

To add custom annotations you need to escape the annotation key string:

$ helm upgrade -i my-release podinfo/podinfo \
--set podAnnotations."appmesh\.k8s\.aws\/preview"=enabled

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,

$ helm install my-release podinfo/podinfo -f values.yaml

Tip: You can use the default values.yaml

Upgrading the chart

To =< 5.0.0

Version 5.0.0 is a major update.

The simplest way to update is to do a force upgrade, which recreates the resources by doing a delete and an install.

helm-chart's People

Contributors

kirankarnam avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.