카타코더 - Istio 1.0.x workshop: Istio Introduction

1 개요[ | ]

카타코더 - Service Mesh with Istio on OpenShift
# 코스
카타코더 - Istio 1.0.x workshop: Istio Introduction
카타코더 - Istio 1.0.x workshop: Deploy microservices
카타코더 - Istio 1.0.x workshop: Monitoring and Tracing
카타코더 - Istio 1.0.x workshop: Simple Routing
카타코더 - Istio 1.0.x workshop: Advanced RouteRules
카타코더 - Istio 1.0.x workshop: Fault Injection
카타코더 - Istio 1.0.x workshop: Circuit Breaker
카타코더 - Istio 1.0.x workshop: Egress
카타코더 - Istio 1.0.x Advanced: Observing with Kiali
카타코더 - Istio 1.0.x Advanced: Mutual TLS

2 Service Mesh[ | ]

  • Traffic Management
  • Observability
  • Policy Enforcement
  • Service Identity and Security
  • Platform Support
  • Integration and Customization

3 Istio Details[ | ]

Istio-arch1.png

Istio Components
  • Envoy
  • Mixer
  • Pilot
  • Citadel

4 Istio installation[ | ]

$ oc login -u system:admin
Logged into "https://master:8443" as "system:admin" using existing credentials.

You have access to the following projects and can switch between them with 'oc project <projectname>':

  * default
    kube-public
    kube-service-catalog
    kube-system
    management-infra
    openshift
    openshift-ansible-service-broker
    openshift-console
    openshift-infra
    openshift-logging
    openshift-monitoring
    openshift-node
    openshift-sdn
    openshift-template-service-broker
    openshift-web-console

Using project "default".
$ tar -xvzf istio-1.0.5-linux.tar.gz
istio-1.0.5/
istio-1.0.5/LICENSE
istio-1.0.5/samples/
istio-1.0.5/samples/sleep/
istio-1.0.5/samples/sleep/sleep.yaml
istio-1.0.5/samples/sleep/README.md
istio-1.0.5/samples/https/
istio-1.0.5/samples/https/nginx-app.yaml
istio-1.0.5/samples/https/default.conf
istio-1.0.5/samples/health-check/
istio-1.0.5/samples/health-check/liveness-http.yaml
istio-1.0.5/samples/health-check/liveness-command.yaml
...
istio-1.0.5/tools/deb/deb_test.sh
istio-1.0.5/tools/setup_run
istio-1.0.5/tools/update_all
$ oc apply -f istio-1.0.5/install/kubernetes/helm/istio/templates/crds.yaml
customresourcedefinition.apiextensions.k8s.io/virtualservices.networking.istio.io created
customresourcedefinition.apiextensions.k8s.io/destinationrules.networking.istio.io created
customresourcedefinition.apiextensions.k8s.io/serviceentries.networking.istio.io created
customresourcedefinition.apiextensions.k8s.io/gateways.networking.istio.io created
customresourcedefinition.apiextensions.k8s.io/envoyfilters.networking.istio.io created
customresourcedefinition.apiextensions.k8s.io/policies.authentication.istio.io created
customresourcedefinition.apiextensions.k8s.io/meshpolicies.authentication.istio.io created
customresourcedefinition.apiextensions.k8s.io/httpapispecbindings.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/httpapispecs.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/quotaspecbindings.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/quotaspecs.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/rules.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/attributemanifests.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/bypasses.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/circonuses.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/deniers.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/fluentds.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/kubernetesenvs.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/listcheckers.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/memquotas.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/noops.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/opas.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/prometheuses.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/rbacs.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/redisquotas.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/servicecontrols.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/signalfxs.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/solarwindses.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/stackdrivers.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/statsds.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/stdios.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/apikeys.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/authorizations.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/checknothings.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/kuberneteses.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/listentries.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/logentries.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/edges.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/metrics.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/quotas.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/reportnothings.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/servicecontrolreports.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/tracespans.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/rbacconfigs.rbac.istio.io created
customresourcedefinition.apiextensions.k8s.io/serviceroles.rbac.istio.io created
customresourcedefinition.apiextensions.k8s.io/servicerolebindings.rbac.istio.io created
customresourcedefinition.apiextensions.k8s.io/adapters.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/instances.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/templates.config.istio.io created
customresourcedefinition.apiextensions.k8s.io/handlers.config.istio.io created
$ oc apply -f istio-1.0.5/install/kubernetes/istio-demo.yaml
namespace/istio-system created
configmap/istio-galley-configuration created
configmap/istio-grafana-custom-resources created
configmap/istio-grafana-configuration-dashboards created
configmap/istio-grafana created
configmap/istio-statsd-prom-bridge created
configmap/prometheus created
configmap/istio-security-custom-resources created
configmap/istio created
configmap/istio-sidecar-injector created
serviceaccount/istio-galley-service-account created
serviceaccount/istio-egressgateway-service-account created
serviceaccount/istio-ingressgateway-service-account created
serviceaccount/istio-grafana-post-install-account created
clusterrole.rbac.authorization.k8s.io/istio-grafana-post-install-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-grafana-post-install-role-binding-istio-system created
job.batch/istio-grafana-post-install created
serviceaccount/istio-mixer-service-account created
serviceaccount/istio-pilot-service-account created
serviceaccount/prometheus created
serviceaccount/istio-cleanup-secrets-service-account created
clusterrole.rbac.authorization.k8s.io/istio-cleanup-secrets-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-cleanup-secrets-istio-system created
job.batch/istio-cleanup-secrets created
serviceaccount/istio-security-post-install-account created
clusterrole.rbac.authorization.k8s.io/istio-security-post-install-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-security-post-install-role-binding-istio-system created
job.batch/istio-security-post-install created
serviceaccount/istio-citadel-service-account created
serviceaccount/istio-sidecar-injector-service-account created
customresourcedefinition.apiextensions.k8s.io/virtualservices.networking.istio.io configured
customresourcedefinition.apiextensions.k8s.io/destinationrules.networking.istio.io configured
customresourcedefinition.apiextensions.k8s.io/serviceentries.networking.istio.io configured
customresourcedefinition.apiextensions.k8s.io/gateways.networking.istio.io configured
customresourcedefinition.apiextensions.k8s.io/envoyfilters.networking.istio.io configured
customresourcedefinition.apiextensions.k8s.io/httpapispecbindings.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/httpapispecs.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/quotaspecbindings.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/quotaspecs.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/rules.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/attributemanifests.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/bypasses.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/circonuses.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/deniers.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/fluentds.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/kubernetesenvs.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/listcheckers.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/memquotas.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/noops.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/opas.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/prometheuses.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/rbacs.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/redisquotas.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/servicecontrols.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/signalfxs.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/solarwindses.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/stackdrivers.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/statsds.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/stdios.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/apikeys.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/authorizations.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/checknothings.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/kuberneteses.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/listentries.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/logentries.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/edges.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/metrics.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/quotas.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/reportnothings.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/servicecontrolreports.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/tracespans.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/rbacconfigs.rbac.istio.io configured
customresourcedefinition.apiextensions.k8s.io/serviceroles.rbac.istio.io configured
customresourcedefinition.apiextensions.k8s.io/servicerolebindings.rbac.istio.io configured
customresourcedefinition.apiextensions.k8s.io/adapters.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/instances.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/templates.config.istio.io configured
customresourcedefinition.apiextensions.k8s.io/handlers.config.istio.io configured
clusterrole.rbac.authorization.k8s.io/istio-galley-istio-system created
clusterrole.rbac.authorization.k8s.io/istio-egressgateway-istio-system created
clusterrole.rbac.authorization.k8s.io/istio-ingressgateway-istio-system created
clusterrole.rbac.authorization.k8s.io/istio-mixer-istio-system created
clusterrole.rbac.authorization.k8s.io/istio-pilot-istio-system created
clusterrole.rbac.authorization.k8s.io/prometheus-istio-system created
clusterrole.rbac.authorization.k8s.io/istio-citadel-istio-system created
clusterrole.rbac.authorization.k8s.io/istio-sidecar-injector-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-galley-admin-role-binding-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-egressgateway-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-ingressgateway-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-mixer-admin-role-binding-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-pilot-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/prometheus-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-citadel-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-sidecar-injector-admin-role-binding-istio-system created
service/istio-galley created
service/istio-egressgateway created
service/istio-ingressgateway created
service/grafana created
service/istio-policy created
service/istio-telemetry created
service/istio-pilot created
service/prometheus created
service/istio-citadel created
service/servicegraph created
service/istio-sidecar-injector created
deployment.extensions/istio-galley created
deployment.extensions/istio-egressgateway created
deployment.extensions/istio-ingressgateway created
deployment.extensions/grafana created
deployment.extensions/istio-policy created
deployment.extensions/istio-telemetry created
deployment.extensions/istio-pilot created
deployment.extensions/prometheus created
deployment.extensions/istio-citadel created
deployment.extensions/servicegraph created
deployment.extensions/istio-sidecar-injector created
deployment.extensions/istio-tracing created
gateway.networking.istio.io/istio-autogenerated-k8s-ingress created
horizontalpodautoscaler.autoscaling/istio-egressgateway created
horizontalpodautoscaler.autoscaling/istio-ingressgateway created
horizontalpodautoscaler.autoscaling/istio-policy created
horizontalpodautoscaler.autoscaling/istio-telemetry created
horizontalpodautoscaler.autoscaling/istio-pilot created
service/jaeger-query created
service/jaeger-collector created
service/jaeger-agent created
service/zipkin created
service/tracing created
mutatingwebhookconfiguration.admissionregistration.k8s.io/istio-sidecar-injector created
attributemanifest.config.istio.io/istioproxy created
attributemanifest.config.istio.io/kubernetes created
stdio.config.istio.io/handler created
logentry.config.istio.io/accesslog created
logentry.config.istio.io/tcpaccesslog created
rule.config.istio.io/stdio created
rule.config.istio.io/stdiotcp created
metric.config.istio.io/requestcount created
metric.config.istio.io/requestduration created
metric.config.istio.io/requestsize created
metric.config.istio.io/responsesize created
metric.config.istio.io/tcpbytesent created
metric.config.istio.io/tcpbytereceived created
prometheus.config.istio.io/handler created
rule.config.istio.io/promhttp created
rule.config.istio.io/promtcp created
kubernetesenv.config.istio.io/handler created
rule.config.istio.io/kubeattrgenrulerule created
rule.config.istio.io/tcpkubeattrgenrulerule created
kubernetes.config.istio.io/attributes created
destinationrule.networking.istio.io/istio-policy created
destinationrule.networking.istio.io/istio-telemetry created
$ oc get pods -n istio-system
NAME                                     READY     STATUS      RESTARTS   AGE
grafana-7f6cd4bf56-nhhz5                 1/1       Running     0          1m
istio-citadel-7dd558dcf-h7trn            1/1       Running     0          1m
istio-cleanup-secrets-scbxx              0/1       Completed   0          1m
istio-egressgateway-88887488d-5jn4m      1/1       Running     0          1m
istio-galley-787758f7b8-b4rw4            1/1       Running     0          1m
istio-grafana-post-install-tmhth         0/1       Completed   0          1m
istio-ingressgateway-58c77897cc-bpffx    1/1       Running     0          1m
istio-pilot-86cd68f5d9-4qfbb             2/2       Running     0          1m
istio-policy-56c4579578-dnhvc            2/2       Running     0          1m
istio-security-post-install-rf77s        0/1       Completed   0          1m
istio-sidecar-injector-d7f98d9cb-5xhrs   1/1       Running     0          1m
istio-telemetry-7fb48dc68b-stczl         2/2       Running     0          1m
istio-tracing-7596597bd7-97bdk           1/1       Running     0          1m
prometheus-76db5fddd5-rvr57              1/1       Running     0          1m
servicegraph-56dddff777-2vm5z            1/1       Running     0          1m
$ oc expose svc istio-ingressgateway -n istio-system; \
> oc expose svc servicegraph -n istio-system; \
> oc expose svc grafana -n istio-system; \
> oc expose svc prometheus -n istio-system; \
> oc expose svc tracing -n istio-system
route.route.openshift.io/istio-ingressgateway exposed
route.route.openshift.io/servicegraph exposed
route.route.openshift.io/grafana exposed
route.route.openshift.io/prometheus exposed
route.route.openshift.io/tracing exposed
$ export PATH=$PATH:/root/installation/istio-1.0.5/bin/
$ istioctl version
Version: 1.0.5
GitRevision: c1707e45e71c75d74bf3a5dec8c7086f32f32fad
User: root@6f6ea1061f2b
Hub: docker.io/istio
GolangVersion: go1.10.4
BuildStatus: Clean

5 같이 보기[ | ]

6 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}