-
Notifications
You must be signed in to change notification settings - Fork 2
Kiali on Istio
Kiali λ κ° λ§μ΄ν¬λ‘ μλΉμ€κ°μ κ΄κ³λ₯Ό μκ°ν ν΄μ£Όλ λͺ¨λν°λ§ ν΄ μ΄λ€.
Kiali site μ κ°λ³΄λ©΄ κΈ°λ³Έμ μΈ λͺ¨λν°λ§ μ΄μΈμλ
Application(pods), Workload(deployment,statefulset..) and Service λ€μ
health check, request and response metrics, inbound and outbound traffic,
μλΉμ€λ€μ TRAFFIC ROUTING, κ·Έλ¦¬κ³ istio μ€μ (VirtualService, DestinationRule λ±) μ
λ³Όμ μλ κΈ°λ₯λ€μ΄ μλ€.
1 kiali ννμ΄μ§μ κ°λ³΄λ©΄ install μ΄ νμ€λ‘ νμλμ΄μλλ°, μ΄κ±Έ μ€μΉνλ €λ©΄ envsubst κ° λ―Έλ¦¬ μ€μΉκ° λμ΄μλ€κ³ μμ΄μ Έ μλ€.
Mac μΌλ‘ ν
μ€νΈλ₯Ό νμκΈ°μ homebrew λ‘ μ€μΉνλ λ°©λ²μ μ λλ€.
### 1. envsubst μ€μΉ
> brew install gettext
> brew link --force gettext
## kiali μ€μΉ
> bash <(curl -L http://git.io/getLatestKialiKubernetes)
μ€μΉμ μ¬μ©μ λͺ μ μ λ ₯νλλμ΄ μλ€.
2 λ€μμΌλ‘λ Kiali λ₯Ό μ¬μ©ν μ μλ authenticate λ₯Ό μμ±νλ€.
NAMESPACE=istio-system
KIALI_USERNAME=$(read -p 'Kiali Username: ' uval && echo -n $uval | base64)
KIALI_PASSPHRASE=$(read -sp 'Kiali Passphrase: ' pval && echo -n $pval | base64)
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
name: kiali
namespace: $NAMESPACE
labels:
app: kiali
type: Opaque
data:
username: $KIALI_USERNAME
passphrase: $KIALI_PASSPHRASE
EOF
νμλ read -p λͺ λ Ήμ΄κ° μλ¨Ήμ΄μ $(echo -n 'admin' | base64) μ΄λ°μμΌλ‘ κ°μ λ‘ κ°μ μ£Όμλ€.
3 istio μ€μΉμ kiali.enabled=true κ° μλμ΄ μμΌλ, ν΄λΉ λͺ λ Ήμ μ λ ₯ν μ μλ μμ μ μννλ€.
> helm template --set kiali.enabled=true install/kubernetes/helm/istio --name istio --namespace istio-system > $HOME/istio.yaml
> kubectl apply -f $HOME/istio.yaml
3-1 kiali μ€μΉμ jaeger μ grafana λ μ°κ²°ν΄μ μ¬μ©μ ν μ μλ€.
μ΄κ²μ μ¬μ©νλ €λ©΄ μλμ κ°μ΄ jaegerURLκ³Ό grafanaURL μ μ€μ μ νλκ°
νΉμ μ΅μ΄ μ€μΉμ νκ²½λ³μλ‘ λ±λ‘μ ν΄ λμλ λλ€.
μ€μΉ μ μ JAEGER_URI, GRAFANA_URI μ νκ²½λ³μλ‘ λ±λ‘μ νλ©΄ μ λ ₯λμ΄ μ€μΉλλ€.
export GRAFANA_URL=grafana:3000
export JAEGER_URL=jaeger-query:16686
νΉμ url μ λ°κΏ κ²½μ°μλ μλμ λ§λ $HOME/istio.yaml μ Configμ λ³κ²½νλ©΄ λλ€.
μλ λ³κ²½μ kiali pod λ₯Ό κ°μ λ‘ μ¬μμ ν΄μ£Όμ΄μΌ νλ€.
> helm template \
--set kiali.enabled=true \
--set "kiali.dashboard.jaegerURL=http://$(kubectl get svc tracing -o jsonpath='{.spec.clusterIP}'):80" \
--set "kiali.dashboard.grafanaURL=http://$(kubectl get svc grafana -o jsonpath='{.spec.clusterIP}'):3000" \
install/kubernetes/helm/istio \
--name istio --namespace istio-system > $HOME/istio.yaml
> kubectl apply -f $HOME/istio.yaml
kiali λ₯Ό loadbalancer λ‘ μ€μ μ νμλλ° μ°κ²°μ΄ μλλ€.
μμΈμ νμλ μ λͺ°λΌμ.. port-forward λ°©μμΌλ‘ μ μνμλ€.
kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=kiali -o jsonpath='{.items[0].metadata.name}') 20001:20001
Visit http://localhost:20001
μλ κ·Έλ¦Όμ uEngine-cloud-k8s κ° ν΅μ λλ λͺ¨μ΅μ΄λ€.
