All Projects → salesforce → helm-starter-istio

salesforce / helm-starter-istio

Licence: BSD-3-Clause license
An Istio starter template for Helm

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to helm-starter-istio

emacs-run-command
Efficient and ergonomic external command invocation for Emacs
Stars: ✭ 64 (-7.25%)
Mutual labels:  helm
emqx-chart
emqx kubernetes helm
Stars: ✭ 18 (-73.91%)
Mutual labels:  helm
jenkins-blue
Quickly provision jenkins blue ocean on kubernetes with persistent configuration
Stars: ✭ 20 (-71.01%)
Mutual labels:  helm
sftp-gateway
This repository contains a docker image configured to use the SSH File Transfer Protocol (SFTP) to transfer all its files to Cloud Blob Storage Services. This image can be deployed on a Kubernetes cluster with Helm.
Stars: ✭ 18 (-73.91%)
Mutual labels:  helm
Book k8sInfra
< 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 >
Stars: ✭ 176 (+155.07%)
Mutual labels:  helm
gitops-playground
Reproducible infrastructure to showcase GitOps workflows and evaluate different GitOps Operators on Kubernetes
Stars: ✭ 77 (+11.59%)
Mutual labels:  helm
redis-developer.github.io
The Home of Redis Developers
Stars: ✭ 28 (-59.42%)
Mutual labels:  helm
fastapi-mvc
Developer productivity tool for making high-quality FastAPI production-ready APIs.
Stars: ✭ 131 (+89.86%)
Mutual labels:  helm
helm-gitignore
Helm interface for generating .gitignore files
Stars: ✭ 20 (-71.01%)
Mutual labels:  helm
tmpl
tmpl - unix-friendly templating tool.
Stars: ✭ 19 (-72.46%)
Mutual labels:  helm
kubernetes-is
Kubernetes and Helm resources for WSO2 Identity Server
Stars: ✭ 23 (-66.67%)
Mutual labels:  helm
helm-github
A Helm plugin to install raw Helm Charts from Github
Stars: ✭ 54 (-21.74%)
Mutual labels:  helm
inspr
Inspr is an agnostic application mesh for simpler, faster, and securer development of distributed applications (dApps).
Stars: ✭ 49 (-28.99%)
Mutual labels:  helm
helm-lobste.rs
An Helm front-end for Lobste.rs
Stars: ✭ 20 (-71.01%)
Mutual labels:  helm
horusec-platform
Horusec Platform is a set of web services that integrate with the Horusec CLI to facilitate the visualization and management of found vulnerabilities.
Stars: ✭ 32 (-53.62%)
Mutual labels:  helm
github-action-helm3
Slim wrapper around helm3
Stars: ✭ 33 (-52.17%)
Mutual labels:  helm
redislabs-helm
Helm charts for Redis Enterprise
Stars: ✭ 12 (-82.61%)
Mutual labels:  helm
charts
☸️ Helm Charts for YOURLS
Stars: ✭ 12 (-82.61%)
Mutual labels:  helm
tondra
Continuous Development on Kubernetes environments with Skaffold
Stars: ✭ 105 (+52.17%)
Mutual labels:  helm
mediasoup-broadcast-example
Mediasoup WebRTC vanilla JS broadcast example.
Stars: ✭ 107 (+55.07%)
Mutual labels:  helm

helm-starter-istio

An Istio starter template for Helm.

Stop fiddling with Istio and Kubernetes YAML and start building. This starter sets up everything you need to get a container running in Istio correctly the first time.

Features

  • Fastest way to get a new service into the Istio mesh
  • Simplified Istio ingress configuration
  • Simplified Istio port configuration
  • ConfigMap driven by values.yaml, to facilitate easy Helm value overriding
  • Creates the following Kubernetes and Istio objects
    • Service
    • Deployment
    • ConfigMap (optional)
    • VirtualService
    • DestinationRule
    • PodDisruptionBudget
    • HorizontalPodAutoscaler (optional)
    • ServiceAccount (optional)

Installation

  • Clone into $helm-home/starters or,
  • Install with the helm-starter plugin.
    • helm plugin install https://github.com/salesforce/helm-starter.git
    • helm starter fetch https://github.com/salesforce/helm-starter-istio.git

Usage

Pick the starter you want to use:

  • mesh-service - creates a Helm chart for a mesh internal service (no ingress).
  • ingress-service - creates a Helm chart for sevice exposed through an Istio ingress gateway.
  • mesh-egress - creates a Helm chart for configuring mesh egress policies for external systems.
  • auth-policy - creates a Helm chart for managing authorization policy within the mesh.
# Create a helm chart from the starter
> helm create NAME --starter helm-starter-istio/[starter-name]

# Deploy the helm chart to kubernetes
> helm template NAME | kubectl -apply -f -

Samples

The samples directory contains example values.yaml files for installing the Istio Bookinfo sample application.

Set up Istio

The samples assume you are running Kubernetes and Istio locally using Docker Desktop using the default profile.

> istioctl install --set profile=default --set meshConfig.outboundTrafficPolicy.mode=REGISTRY_ONLY -y
> kubectl label namespace default istio-injection=enabled
> kubectl apply -f samples/gateway.yaml

Bookinfo services

To install the Bookinfo services:

> helm template --namespace default -f samples/bookinfo-product/values.yaml ingress-service | kubectl apply -f -
> helm template --namespace default -f samples/bookinfo-details/values.yaml mesh-service | kubectl apply -f -
> helm template --namespace default -f samples/bookinfo-reviews/values.yaml mesh-service | kubectl apply -f -

Then navigate to http://lvh.me/productpage.

Bookinfo mTLS

Enable mTLS authorization policies between the services:

> helm template --namespace default -f samples/bookinfo-auth-policy/values.yaml auth-policy | kubectl apply -f -

Mesh egress

Install mesh egress configuration:

> helm template --namespace default -f samples/egress/values.yaml mesh-egress | kubectl apply -f -

Install a curl pod in Kubernetes so you have a shell to log into to try curl testing different egress routes.

> kubectl apply -f https://raw.githubusercontent.com/istio/istio/master/samples/sleep/sleep.yaml
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].