Skip to content

Instantly share code, notes, and snippets.

View therealmitchconnors's full-sized avatar
💭
💥 cramming for my demo

Mitch Connors therealmitchconnors

💭
💥 cramming for my demo
View GitHub Profile
@therealmitchconnors
therealmitchconnors / pc.txt
Created October 25, 2023 18:58
misbehaving ingress gateway istio 1.19.3 w/ ambient
NAME SERVICE FQDN PORT SUBSET DIRECTION TYPE DESTINATION RULE
cluster/BlackHoleCluster cluster/BlackHoleCluster - - - STATIC
cluster/agent cluster/agent - - - STATIC
cluster/outbound|7000||argocd-applicationset-controller.akuity.svc.cluster.local argocd-applicationset-controller.akuity.svc.cluster.local 7000 - outbound EDS
cluster/outbound|8080||argocd-applicationset-controller.akuity.svc.cluster.local argocd-applicationset-controller.akuity.svc.cluster.local
@therealmitchconnors
therealmitchconnors / README.md
Last active November 2, 2022 05:26
Learn Kubernetes with Google - Istio

Learn Kubernetes with Google - Istio

These files will help you follow along with our Learn Kubernetes with Google series (TODO link to YouTube). In them, you take the role of a service operator who's kubernetes application is misbehaving, and we will use Istio to help identify, mitigate, and resolve the misbehavior. Each step corresponds to one five minute episode, and teaches a core concept of Istio.

Step 1

Run the following command before starting the series to install a slightly broken version of our bookinfo service into your kubernetes cluster.

curl https://gist.githubusercontent.com/therealmitchconnors/b88965a820768e76e02b1b8e4546b64c/raw/install.sh | bash

NOTE: for platforms other than GKE, you may need to modify the gatewayClassName parameter to fit your cloud provider of choice.

@therealmitchconnors
therealmitchconnors / manifest.yaml
Created February 16, 2022 20:32
sample istio manifest
---
# Source: crds/crd-operator.yaml
# SYNC WITH manifests/charts/base/files
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: istiooperators.install.istio.io
labels:
release: istio
spec:
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
components:
ingressGateways:
- name: istio-egressgateway
enabled: true
k8s:
hpaSpec:
maxReplicas: 40
@therealmitchconnors
therealmitchconnors / backendconfig.yaml
Last active October 8, 2020 16:45
Operator Overlay for ASM+IAP integration
cat <<EOF | kubectl apply -n istio-system -f -
apiVersion: cloud.google.com/v1beta1
kind: BackendConfig
metadata:
name: http-hc-config
spec:
healthCheck:
checkIntervalSec: 2
timeoutSec: 1
healthyThreshold: 1
@therealmitchconnors
therealmitchconnors / README.md
Last active April 6, 2023 16:15
Istio Latency Analysis

Istio Performance Analysis

The goal of this experiment is to measure the amount of latency that is added to a simple service by the addition of various Istio Components. To isolate the contribution of each component, many combinations of avialable components were tested and recorded.

Components

  • Sidecar
  • Istio Ingress
  • Load Balancer Ingress

Other Parameters

@therealmitchconnors
therealmitchconnors / wait.go
Created June 5, 2020 04:40
This file implements a wait() function for istio config distribution, without taking out any dependencies on the istio codebase.
// Copyright 2020 Istio Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// copyright
// standard generated code warning
package features
const (
traffic_circuitbreakers_failgracefully = "traffic.circuit-breakers.fail-gracefully"
observability = "observability"
usability_introspection_status_distribution_immidatelyfalse = "usability.introspection.status.distribution.immediately-false"
@therealmitchconnors
therealmitchconnors / Dockerfile
Created April 17, 2020 05:13
Debug image for pilot, adaptable to pretty much any distroless go debugging
FROM golang:latest AS getter
RUN go get -u -v github.com/go-delve/delve/cmd/dlv
#COPY dlv .
FROM docker.io/therealmitchconnors/pilot:therealmitchconnors
EXPOSE 40000
COPY --from=0 /go/bin/dlv .
ENTRYPOINT ["./dlv", "--listen=:40000", "--headless=true", "--api-version=2", "exec", "/usr/local/bin/pilot-discovery", "--"]
@therealmitchconnors
therealmitchconnors / viperconfig.go
Created August 12, 2019 23:25
Candidate Viperize Functions. Test Failing.
// Copyright 2019 Istio Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,