Skip to content

Instantly share code, notes, and snippets.

View rvennam's full-sized avatar

Ram Vennam rvennam

View GitHub Profile
kubectl config use-context $CLUSTER1
kubectl create ns gloo-mesh-test
kubectl label ns gloo-mesh-test istio-injection=enabled
cat <<EOF | oc -n gloo-mesh-test create -f -
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
name: istio-cni
EOF

Solo.io Istio FIPS Verification

Download Istio 1.11.5 CLI:

curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.11.5 sh -

Install Solo Istio 1.11.5 FIPS:

cd ~/istio-1.11.5/bin
istioctl proxy-config routes productpage-v1-5c4b548f6c-sfpq7 --name 9080 -o json
[
  {
    "name": "9080",
    "virtualHosts": [
      {
        "name": "reviews.default.svc.cluster.local:9080",
        "domains": [
          "reviews.default.svc.cluster.local",

Create a CA root cert

openssl req -new -newkey rsa:4096 -x509 -sha256 \
        -days 3650 -nodes -out relay-root.crt -keyout relay-root.key \
        -subj "/CN=enterprise-networking-ca" \
        -addext "extendedKeyUsage = clientAuth, serverAuth"

Create a server cert

Install Gloo Mesh using External Certs

MGMT CLUSTER

kubectl config use-context mgmt
kubectl create namespace gloo-mesh

Create the root, server and signing secrets

RELAY_ROOT_CERT_NAME=relay-root
RELAY_SERVER_CERT_NAME=relay-server-tls
RELAY_SIGNING_CERT_NAME=relay-tls-signing
MGMT_CONTEXT=mgmt
REMOTE_CONTEXT=cluster1
echo "creating root cert ..."
openssl req -new -newkey rsa:4096 -x509 -sha256 \
-days 3650 -nodes -out ${RELAY_ROOT_CERT_NAME}.crt -keyout ${RELAY_ROOT_CERT_NAME}.key \
# Start clean
istioctl x uninstall --purge -y
sleep 20s
kubectl delete namespace custom-gateways
sleep 30s
# Download Istio 1.8.2
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.8.2 sh -
cd istio-1.8.2
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
annotations:
armada-service: addon-istio
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"install.istio.io/v1alpha1","kind":"IstioOperator","metadata":{"annotations":{"armada-service":"addon-istio","version":"1.7.0_2772"},"labels":{"addonmanager.kubernetes.io/mode":"Reconcile"},"name":"managed-istio","namespace":"ibm-operators"},"spec":{"addonComponents":{"grafana":{"enabled":false},"kiali":{"enabled":false},"prometheus":{"enabled":false},"tracing":{"enabled":false}},"components":{"egressGateways":[{"enabled":true,"k8s":{"hpaSpec":{"minReplicas":2},"overlays":[{"kind":"Deployment","name":"istio-egressgateway","patches":[{"path":"spec.template.spec.containers.[name:istio-proxy].lifecycle","value":{"preStop":{"exec":{"command":["sleep","25"]}}}},{"path":"spec.template.spec.affinity","value":{"nodeAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"preference":{"matchExpressions":[{"key":"dedicated",
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
annotations:
armada-service: addon-istio
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"install.istio.io/v1alpha1","kind":"IstioOperator","metadata":{"annotations":{"armada-service":"addon-istio","version":"1.6.0_2547"},"labels":{"addonmanager.kubernetes.io/mode":"Reconcile"},"name":"managed-istio","namespace":"ibm-operators"},"spec":{"addonComponents":{"grafana":{"enabled":true},"kiali":{"enabled":true},"prometheus":{"enabled":true},"tracing":{"enabled":true}},"components":{"egressGateways":[{"enabled":true,"k8s":{"overlays":[{"kind":"Deployment","name":"istio-egressgateway","patches":[{"path":"spec.template.spec.containers.[name:istio-proxy].lifecycle","value":{"preStop":{"exec":{"command":["sleep","25"]}}}},{"path":"spec.template.spec.affinity","value":{"podAntiAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"app","operator":"I
apiVersion: v1
items:
- apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
annotations:
armada-service: addon-istio
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"install.istio.io/v1alpha1","kind":"IstioOperator","metadata":{"annotations":{"armada-service":"addon-istio","version":"1.5.0_2107"},"labels":{"addonmanager.kubernetes.io/mode":"Reconcile"},"name":"managed-istio","namespace":"ibm-operators"},"spec":{"addonComponents":{"grafana":{"enabled":true},"kiali":{"enabled":true},"prometheus":{"enabled":true},"tracing":{"enabled":true}},"components":{"egressGateways":[{"enabled":true,"k8s":{"overlays":[{"kind":"Deployment","name":"istio-egressgateway","patches":[{"path":"spec.template.spec.containers.[name:istio-proxy].lifecycle","value":{"preStop":{"exec":{"command":["sleep","25"]}}}}]}]},"name":"istio-egressgateway"}],"ingressGateways":[{"enabled":true,"k8s":{"overlays":[{"kind":"Deployment","name":"istio-ingressgateway","patches":[{"path":"spec