Table of Contents generated with DocToc
provider-instana
is a Crossplane Provider , which helps install self-hosted instana on k8s , the goal is to automate installing procedure .
- Crossplane server , https://crossplane.io
- K8S , In this example , we use kind cluster to host instances
- Instana DB , follow instana database settup
Using the kubeconfig in this repo as example :
kubectl create secret generic k8s-kubeconfig --from-file=credentials=./examples/provider/kubeconfig -n crossplane-system
kubectl create configmap instana-settings --from-file=./examples/instana/settings.hcl -n crossplane-system
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
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 thissettingsConfigmap
: let crossplane know where to find the settings , refer to Create configmap stepsproviderConfigRef
: it will use providerconfiginstana-provider-config
, which point to target kubeconfig