aladdin

command module
v0.0.0-...-10c222e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2019 License: Apache-2.0 Imports: 22 Imported by: 0

README

# Aladdin 

1. <<Introduction>>
2. <<Getting Started>>
3. <<Platform Version in Aladdin>>
4. <<:boom: Wiki for Aladdin>>
5. <<License>>


### Introduction


Aladdin provide Network Visualization & Kubernetes Monitoring for micro services

#### Infrasturcture Overview
image::https://github.com/soda-infra/aladdin/blob/master/images/aladdin-Infrastructure.png[Aladdin-infrastructure, width=880]

#### Kubernetes Overview
image::https://github.com/soda-infra/aladdin/blob/master/images/aladdin-kubernetes.png[Aladdin-kubernetes, width=880]

### Description
Aladdin is a project that modified and improved the Kiali project. It covers various metrics as well as network metrics used in Kiali.

Aladdin works with Istio, Node Exporter, Kube-state-metrics, cAdvisor to visualize service mesh topology, infrastructure, kubernetes cluster.

### Getting Started

#### Install helm
    curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > install-helm.sh
    chmod u+x install-helm.sh
    ./install-helm.sh
    kubectl -n kube-system create serviceaccount tiller
    kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
    helm init --service-account tiller

#### Download istio
    git clone https://github.com/soda-infra/istio
    cd istio
    git checkout release-1.2
    
#### Install istio-init
    helm install install/kubernetes/helm/istio-init --name istio-init --namespace istio-system
   
#### Verify istio-init (아래 명령 결과가 23이 나오면 완료)
    kubectl get crds | grep 'istio.io\|certmanager.k8s.io' | wc -l
    
#### Create kiali secret (username: admin, password: admin)
    cat <<EOF | kubectl apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: kiali
      namespace: istio-system
      labels:
        app: kiali
    type: Opaque
    data:
      username: YWRtaW4=
      passphrase: YWRtaW4=
    EOF
    
#### Install istio
    helm install install/kubernetes/helm/istio \
    --name istio \
    --namespace istio-system \
    --set tracing.enabled=true \
    --set global.mtls.enabled=true \
    --set grafana.enabled=true \
    --set kiali.enabled=true \
    --set servicegraph.enabled=true
    
#### Install aladdin-requirements
    git clone https://github.com/soda-infra/aladdin-requirements
    helm install aladdin-requirements --name aladdin-requirements
    
#### Loading istio example
    kubectl label namespace default istio-injection=enabled
    kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
    kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
    export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
    export SECURE_INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].nodePort}')
    export INGRESS_HOST=$(kubectl get po -l istio=ingressgateway -n istio-system -o jsonpath='{.items[0].status.hostIP}')
    export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT
    kubectl apply -f samples/bookinfo/networking/destination-rule-all-mtls.yaml
    
#### Verify
    curl -s http://${GATEWAY_URL}/productpage | grep -o "<title>.*</title>"
    
#### Check kiali port (kiali 포트로 접속)
    kubectl get svc -A
    
#### Make traffic
    cat >> ~/makeTraffic.sh <<EOF
    for ((i=1;i<=10000000;i++)); do
        curl -v --header "Connection: keep-alive" "http://127.0.0.1:31380/productpage";
        sleep 5;
    done
    EOF 
    sudo chmod +x makeTraffic.sh

### Platform Version in Aladdin  

* Kubernetes - v1.15.0
* Istio - v1.2.0
* Kiali - v1.1.0 (see kiali tag)
* Kiali-ui - v1.2.0

### :boom: Wiki for Aladdin
한글화되어있는 link:https://github.com/soda-infra/aladdin/wiki[Aladdin wiki문서]입니다.

### Default ID/PW for Aladdin
> ID : admin
>
> PW : admin

### License


Apache License 2.0

Documentation

Overview

Kiali

Kiali project, observability for the Istio service mesh

Schemes: http, https
BasePath: /api
Version: _

Consumes:
- application/json

Produces:
- application/json

swagger:meta

Directories

Path Synopsis
Graph package provides support for the graph handlers such as supported path variables and query params, as well as types for graph processing.
Graph package provides support for the graph handlers such as supported path variables and query params, as well as types for graph processing.
api
config/cytoscape
Package cytoscape provides conversion from our graph to the CystoscapeJS configuration json model.
Package cytoscape provides conversion from our graph to the CystoscapeJS configuration json model.
telemetry/istio
Package istio provides the Istio implementation of graph/TelemetryProvider.
Package istio provides the Istio implementation of graph/TelemetryProvider.
internalmetrics
Package internalmetrics provides functionality to collect Prometheus metrics.
Package internalmetrics provides functionality to collect Prometheus metrics.
status is a simple package for offering up various status information from Kiali.
status is a simple package for offering up various status information from Kiali.
tests

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL