Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Getting Started Istio

Getting Started Istio

Getting Started Istio on Shinjuku mokumoku programming vol.17

threetreeslight

October 13, 2018
Tweet

More Decks by threetreeslight

Other Decks in Technology

Transcript

  1. Install Istio はinstall に必要なkit がいい感じにまとまってい るので助かる。それだけsystem component が多いと いうことも⽰している⽤に感じる。 curl

    でもってきて、 istioctl だけpath 通しておく curl -L https://git.io/getLatestIstio | sh - cp ./istio-1.0.2/bin/istioctl /usr/local/bin 8 / 23
  2. Manual OR Helm? Istio はいくつかの⽅法がある 1. helm (kubernates ⽤のpakcage manager

    だと思ってもら えればOK) 2. kubectl でapply していく Istio 公式⾒解としえはhelm を使って構築されること を期待しているようだ。 9 / 23
  3. Tracing tracing chart に含まれているのが Zipkin ではなく jaeger ( ) だった。

    jaeger がデファクトなのかな? https://www.jaegertracing.io/ 12 / 23
  4. ちなみに 公式ドキュメントを⾒ていてCustom resource definision を⼿動で⼊れてしまい、helm で⼊らんと嘆 く⼈が多い。 Helm delete does

    not clean the custom resource definitions Tutorial Helm note update # Install Istio’s Custom Resource Definitions via kubectl apply, and wait $ kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml 13 / 23
  5. 意気揚々にvalidate あるぇ、、、prometheus service が⽴ってる、、、 % kubectl get svc -n istio-system

    NAME TYPE CLUSTER-IP EXTERNAL-IP istio-citadel ClusterIP 10.59.252.14 <none> istio-egressgateway ClusterIP 10.59.252.179 <none> istio-galley ClusterIP 10.59.247.233 <none> istio-ingressgateway LoadBalancer 10.59.255.51 35.197.96.12 istio-pilot ClusterIP 10.59.245.42 <none> istio-policy ClusterIP 10.59.246.86 <none> istio-sidecar-injector ClusterIP 10.59.249.91 <none> istio-statsd-prom-bridge ClusterIP 10.59.245.16 <none> istio-telemetry ClusterIP 10.59.252.157 <none> prometheus ClusterIP 10.59.252.174 <none> 15 / 23
  6. Deploying というわけで、⾃前のサービスのns を整理して、 development 環境から istio- injection=enabled flag を付与していく %

    kubectl label ns staging istio-injection=enabled % kubectl get ns --show-labels NAME STATUS AGE LABELS default Active 146d <none> development Active 2m istio-injection=enabled istio-system Active 2h name=istio-system kube-public Active 146d <none> kube-system Active 146d <none> production Active 2m <none> staging Active 2m <none> 17 / 23
  7. Consider API aggregation if: Your API is Declarative. You want

    your new types to be readable and writable using kubectl. You want to view your new types in a Kubernetes UI, such as dashboard, alongside built-in types. You are developing a new API. You are willing to accept the format restriction that Kubernetes puts on REST resource paths, such as API Groups and Namespaces. (See the API Overview.) Your resources are naturally scoped to a cluster or to namespaces of a cluster. You want to reuse Kubernetes API support features. 21 / 23
  8. con gmap + pod をcustom resource として管理しちゃったほ うが良いのかな? と思ったら書いてあった config

    file format があるものだったらconfigmap pod のプログラムの設定ファイルだったらconfigmap の が楽 kubernetes api より環境変数で定義しちゃいたくなるも のであればconfigmap rolling update を必要とするものだったらconfigmap うーむ。 23 / 23