Minikube and spring-cloud-dataflow-ops setup
minikube start --cpus=4 --memory=8192
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/metallb.yaml
kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
mkip=$(minikube ip)
range=${mkip%%.${mkip##*.}}.200-${mkip%%.${mkip##*.}}.250
cat << EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- ${range}
EOF
Install NGINX Ingress Controller
kubectl create namespace nginx-ingress
helm template nginx-ingress --namespace nginx-ingress stable/nginx-ingress | kapp deploy -y -n nginx-ingress -a nginx-ingress -f -
Change to spring-cloud-dataflow-ops dir
cd ~/workspace/spring-cloud-dataflow-ops
kubectl create namespace scdf-system
Install mysql and rabbitmq
kapp -y deploy -a mysql -n scdf-system -f ./services/mysql/
kapp -y deploy -a rabbitmq -n scdf-system -f ./services/rabbitmq/
kubectl kustomize ./skipper-server/kustomize/overlays/dev | kapp -y deploy -a skipper-server -n scdf-system -f -
kubectl kustomize ./data-flow-server/kustomize/overlays/dev | kapp -y deploy -a data-flow-server -n scdf-system -f -
Create Ingress for data-flow-server
ingress=$(kubectl get svc nginx-ingress-controller -n nginx-ingress -ojsonpath='{.status.loadBalancer.ingress[0].ip}')
SCDF_HOST=scdf.${ingress}.xip.io cat << EOF | kapp deploy -y -n scdf-system -a scdf-ingress -f -
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: scdf-server
spec:
rules:
- host: ${SCDF_HOST}
http:
paths:
- backend:
serviceName: scdf-server
servicePort: 80
path: /
EOF
host=$(kubectl get ingress scdf-server -n scdf-system -ojsonpath='{.spec.rules[0].host}')
chrome http://${host}/dashboard