Skip to content

Latest commit

 

History

History
91 lines (67 loc) · 3.41 KB

README.md

File metadata and controls

91 lines (67 loc) · 3.41 KB

Table of Contents generated with DocToc

Self-hosted Instana on kubernetes via crossplane

provider-instana is a Crossplane Provider , which helps install self-hosted instana on k8s , the goal is to automate installing procedure .

Prerequisites

Deploy instana on k8s via crossplane

w

Create a secret storing target k8s kubeconfig

Using the kubeconfig in this repo as example :

kubectl create secret generic k8s-kubeconfig --from-file=credentials=./examples/provider/kubeconfig -n crossplane-system

Create a configmap storing the instana settings

kubectl create configmap instana-settings --from-file=./examples/instana/settings.hcl -n crossplane-system

Create a provider config adding kubeconfig secret as target system credentials

cat << EOF | oc apply -f -
apiVersion: instana.crossplane.io/v1alpha1
kind: ProviderConfig
metadata:
  name: instana-provider-config 
spec:
  credentials:
    source: Secret
    secretRef:
      namespace: crossplane-system
      name: k8s-kubeconfig 
      key: credentials
EOF

Note: you need specify the corresponding secret name/namespace in Create kubeconfig secret step

Create a instana CR to install instana on target k8s

cat << EOF | oc apply -f -
apiVersion: instana.crossplane.io/v1alpha1
kind: Instana
metadata:
  name: instana
spec:
  forProvider:
    instanaVersion: 205-2
    nfsServerHost: in-kind-instana-db.fyre.ibm.com
    settingsConfigmap:
      name: instana-settings
      namespace: crossplane-system
  providerConfigRef:
    name: instana-provider-config
EOF

Note:

  • nfsServerHost: we use NFS server to store spans (in instana official doc , it use s3 as example ) , if you already config s3 in settings , you could just ignore this
  • settingsConfigmap : let crossplane know where to find the settings , refer to Create configmap steps
  • providerConfigRef : it will use providerconfig instana-provider-config , which point to target kubeconfig