二 Istio:在Kubernetes(k8s)集群上安装部署istio1.14( 六 )

为了访问 istioctl,我们应该把它添加到 path 中 。
[root@k8scloude1 bin]# pwd/root/istio-1.14.3/bin[root@k8scloude1 bin]# lsistioctl#临时生效[root@k8scloude1 bin]# export PATH=/root/istio-1.14.3/bin:$PATH#永久生效[root@k8scloude1 bin]# vim /etc/profile.d/istioctl.sh[root@k8scloude1 bin]# cat /etc/profile.d/istioctl.shexport ISTIOCTL_HOME="/root/istio-1.14.3"export PATH="$ISTIOCTL_HOME/bin:$PATH"[root@k8scloude1 bin]# source /etc/profile.d/istioctl.sh要检查 istioctl 是否在 path 里,运行 istioctl version 。你应该看到这样的输出 。
[root@k8scloude1 bin]# istioctl versionno running Istio pods in "istio-system"1.14.36.4 安装 IstioIstio 支持多个配置文件(profile) 。配置文件之间的区别在于所安装的组件 。
[root@k8scloude1 bin]# istioctl profile listIstio configuration profiles:defaultdemoemptyexternalminimalopenshiftpreviewremote这些配置文件提供了对 Istio 控制平面和 Istio 数据平面 Sidecar 的定制内容 。
您可以从 Istio 内置配置文件的其中一个开始入手,然后根据您的特定需求进一步自定义配置文件 。当前提供以下几种内置配置文件:

  1. default:根据 IstioOperator API 的默认设置启动组件 。建议用于生产部署和 Multicluster Mesh 中的 Primary Cluster 。
    您可以运行 istioctl profile dump 命令来查看默认设置 。
  2. demo:这一配置具有适度的资源需求,旨在展示 Istio 的功能 。它适合运行 Bookinfo 应用程序和相关任务 。这是通过快速开始指导安装的配置 。此配置文件启用了高级别的追踪和访问日志,因此不适合进行性能测试 。
  3. minimal:与默认配置文件相同,但只安装了控制平面组件 。它允许您使用 Separate Profile 配置控制平面和数据平面组件(例如 Gateway) 。
  4. remote:配置 Multicluster Mesh 的 Remote Cluster 。
  5. empty:不部署任何东西 。可以作为自定义配置的基本配置文件 。
  6. preview:预览文件包含的功能都是实验性 。这是为了探索 Istio 的新功能 。不确保稳定性、安全性和性能(使用风险需自负) 。
标注的组件安装在每个配置文件中:
defaultdemominimalremoteemptypreview核心组件istio-egressgatewayistio-ingressgatewayistiod推荐用于生产部署的配置文件是 default 配置文件 。
我们将安装 demo 配置文件,因为它包含所有的核心组件,启用了跟踪和日志记录,便于学习不同的 Istio 功能 。
我们也可以从 minimal 的组件开始,以后单独安装其他功能,如 ingress 和 egress 网关 。
因为我们将使用 Istio Operator 进行安装,所以我们必须先部署 Operator 。关于Istio Operator 简介可以查看https://istio.io/v1.14/zh/blog/2019/introducing-istio-operator/
要部署 Istio Operator,请运行:
[root@k8scloude1 bin]# istioctl operator initInstalling operator controller in namespace: istio-operator using image: docker.io/istio/operator:1.14.3Operator controller will watch namespaces: istio-system Istio operator installed Installation completeinit 命令创建了 istio-operator 命名空间,并部署了 CRD、Operator Deployment 以及 operator 工作所需的其他资源 。安装完成后,Operator 就可以使用了 。
要安装 Istio,我们必须创建 IstioOperator 资源,并指定我们要使用的配置文件 。
创建一个名为 istio-demo-profile.yaml的文件,内容如下:
#创建目录istioyaml,用来专门存放yaml文件[root@k8scloude1 ~]# mkdir istioyaml[root@k8scloude1 ~]# cd istioyaml/[root@k8scloude1 istioyaml]# vim istio-demo-profile.yaml#profile: demo表示使用demo配置文件安装istio[root@k8scloude1 istioyaml]# cat istio-demo-profile.yamlapiVersion: v1kind: Namespacemetadata:name: istio-system---apiVersion: install.istio.io/v1alpha1kind: IstioOperatormetadata:namespace: istio-systemname: demo-istio-installspec:profile: demo

经验总结扩展阅读