Installing Istio and it’s add-ons kubernetes on OpenStack – Part 2

This article explains how to install Istio and it’s add-ons on Cloud Provider OpenStack with Load-balancer service(Octavia).
This is the second part, Installing Istio.

There are two ways to install istio. In this article, we follows Quick Start Evaluation Install without using Helm, since we just evaluate Istio.

Download the release

$ curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.3.3 sh -

The following is shown and end with command prompt.

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  3013  100  3013    0     0   2769      0  0:00:01  0:00:01 --:--:--  173k
Downloading istio-1.3.3 from https://github.com/istio/istio/releases/download/1.3.3/istio-1.3.3-linux.tar.gz ...  % Total    % Received
 % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   614    0   614    0     0   1900      0 --:--:-- --:--:-- --:--:--  1900
100 36.3M  100 36.3M    0     0  4315k      0  0:00:08  0:00:08 --:--:-- 5414k
Istio 1.3.3 Download Complete!

Istio has been successfully downloaded into the istio-1.3.3 folder on your system.

Next Steps:
See https://istio.io/docs/setup/kubernetes/install/ to add Istio to your Kubernetes cluster.

To configure the istioctl client tool for your workstation,
add the /home/ubuntu/istio-1.3.3/bin directory to your environment path variable with:
         export PATH="$PATH:/home/ubuntu/istio-1.3.3/bin"

Begin the Istio pre-installation verification check by running:
         istioctl verify-install

Need more information? Visit https://istio.io/docs/setup/kubernetes/install/
$

Let’s follow the instructions shown above.

$ export PATH="$PATH:/home/ubuntu/istio-1.3.3/bin"
$ istioctl verify-install

Successful message should be shown like the following.

Checking the cluster to make sure it is ready for Istio installation...

#1. Kubernetes-api
-----------------------
Can initialize the Kubernetes client.
Can query the Kubernetes API Server.

#2. Kubernetes-version
-----------------------
Istio is compatible with Kubernetes: v1.15.3.

#3. Istio-existence
-----------------------
Istio will be installed in the istio-system namespace.

#4. Kubernetes-setup
-----------------------
Can create necessary Kubernetes configurations: Namespace,ClusterRole,ClusterRoleBinding,CustomResourceDefinition,Role,ServiceAccount,Service,Deployments,ConfigMap.

#5. Sidecar-Injector
-----------------------
This Kubernetes cluster supports automatic sidecar injection. To enable automatic sidecar injection see https://istio.io/docs/setup/kubernetes/additional-setup/sidecar-injection/#deploying-an-app

-----------------------
Install Pre-Check passed! The cluster is ready for Istio installation.

Installing Istio CRDs

:~$ cd istio-1.3.3
:~/istio-1.3.3$ export PATH=$PWD/bin:$PATH
:~/istio-1.3.3$ for i in install/kubernetes/helm/istio-init/files/crd*yaml; do kubectl apply -f $i; done
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/clusterrbacconfigs.rbac.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/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
customresourcedefinition.apiextensions.k8s.io/sidecars.networking.istio.io created
customresourcedefinition.apiextensions.k8s.io/authorizationpolicies.rbac.istio.io created
customresourcedefinition.apiextensions.k8s.io/clusterissuers.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/issuers.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/certificates.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/orders.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/challenges.certmanager.k8s.io created

Installing the demo profile

$ kubectl apply -f install/kubernetes/istio-demo.yaml
namespace/istio-system created
customresourcedefinition.apiextensions.k8s.io/virtualservices.networking.istio.io unchanged
customresourcedefinition.apiextensions.k8s.io/destinationrules.networking.istio.io unchanged
customresourcedefinition.apiextensions.k8s.io/serviceentries.networking.istio.io unchanged
customresourcedefinition.apiextensions.k8s.io/gateways.networking.istio.io unchanged
customresourcedefinition.apiextensions.k8s.io/envoyfilters.networking.istio.io unchanged
customresourcedefinition.apiextensions.k8s.io/clusterrbacconfigs.rbac.istio.io unchanged
customresourcedefinition.apiextensions.k8s.io/policies.authentication.istio.io unchanged
.....
instance.config.istio.io/attributes created
destinationrule.networking.istio.io/istio-policy created
destinationrule.networking.istio.io/istio-telemetry created

Verify installation

:~/istio-1.3.3$ kubectl get svc -n istio-system
NAME                     TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                                                                                                                                      AGE
grafana                  ClusterIP      10.233.22.253   <none>        3000/TCP                                                                                                                                     2m49s
istio-citadel            ClusterIP      10.233.12.250   <none>        8060/TCP,15014/TCP                                                                                                                           2m49s
istio-egressgateway      ClusterIP      10.233.26.207   <none>        80/TCP,443/TCP,15443/TCP                                                                                                                     2m49s
istio-galley             ClusterIP      10.233.36.243   <none>        443/TCP,15014/TCP,9901/TCP                                                                                                                   2m49s
istio-ingressgateway     LoadBalancer   10.233.50.231   10.0.0.213    15020:30474/TCP,80:31380/TCP,443:31390/TCP,31400:31400/TCP,15029:31241/TCP,15030:30585/TCP,15031:31475/TCP,15032:32366/TCP,15443:30889/TCP   2m49s
istio-pilot              ClusterIP      10.233.23.43    <none>        15010/TCP,15011/TCP,8080/TCP,15014/TCP                                                                                                       2m49s
istio-policy             ClusterIP      10.233.44.135   <none>        9091/TCP,15004/TCP,15014/TCP                                                                                                                 2m49s
istio-sidecar-injector   ClusterIP      10.233.10.98    <none>        443/TCP,15014/TCP                                                                                                                            2m49s
istio-telemetry          ClusterIP      10.233.12.249   <none>        9091/TCP,15004/TCP,15014/TCP,42422/TCP                                                                                                       2m49s
jaeger-agent             ClusterIP      None            <none>        5775/UDP,6831/UDP,6832/UDP                                                                                                                   2m49s
jaeger-collector         ClusterIP      10.233.23.10    <none>        14267/TCP,14268/TCP                                                                                                                          2m49s
jaeger-query             ClusterIP      10.233.44.204   <none>        16686/TCP                                                                                                                                    2m49s
kiali                    ClusterIP      10.233.38.170   <none>        20001/TCP                                                                                                                                    2m49s
prometheus               ClusterIP      10.233.63.59    <none>        9090/TCP                                                                                                                                     2m49s
tracing                  ClusterIP      10.233.16.87    <none>        80/TCP                                                                                                                                       2m49s
zipkin                   ClusterIP      10.233.31.122   <none>        9411/TCP                                                                                                                                     2m49s
:~/istio-1.3.3$
:~/istio-1.3.3$ kubectl get pods -n istio-system
NAME                                      READY   STATUS      RESTARTS   AGE
grafana-59d57c5c56-m762w                  1/1     Running     0          3m24s
istio-citadel-66f699cf68-24h6c            1/1     Running     0          3m23s
istio-egressgateway-7fbcf68b68-x99v5      1/1     Running     0          3m24s
istio-galley-fd94bc888-mhpp7              1/1     Running     0          3m24s
istio-grafana-post-install-1.3.3-l8524    0/1     Completed   0          3m25s
istio-ingressgateway-587c9fbc85-khd8z     1/1     Running     0          3m24s
istio-pilot-74cb5d88bc-44lqh              2/2     Running     0          3m24s
istio-policy-5865b8c696-tp4b6             2/2     Running     3          3m24s
istio-security-post-install-1.3.3-qmcf4   0/1     Completed   0          3m25s
istio-sidecar-injector-d8856c48f-nxqwb    1/1     Running     0          3m23s
istio-telemetry-95689668-p5ww4            2/2     Running     2          3m24s
istio-tracing-6bbdc67d6c-m9fdc            1/1     Running     0          3m23s
kiali-8c9d6fbf6-5ks85                     1/1     Running     0          3m24s
prometheus-7d7b9f7844-s8wt6               1/1     Running     0          3m23s

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください