启动 AWS EC2 实例
使用以下配置启动 AWS EC2 实例:
- 选择带有
Ubuntu Server
(DEB)的64 位 (x86)
AMI 镜像。 - 选择最小的
实例类型
,例如t2.micro
(1 个 vCPU,1 GiB RAM) 或t2.nano
(1 个 vCPU,0.5 GiB RAM) - 选择默认 VPC(以使你的实例具有公共 IP)
- 将
自动分配公共 IP
设置为启用
- 配置
安全组
,允许从0.0.0.0/0
的端口9080
接收流量
为了本指南的目的,你将创建一个具有公共 IP 的 EC2 实例,以便进行配置。
安装 Bookinfo Ratings 应用程序
SSH 进入你创建的 AWS EC2 实例,并安装 ratings
应用程序。执行以下命令:
# 安装最新版本的受信任 CA 证书
sudo apt-get update -y
sudo apt-get install -y ca-certificates
# 添加具有 Node.js 的 DEB 仓库
curl --fail --silent --location https://deb.nodesource.com/setup_14.x | sudo bash -
# 安装 Node.js
sudo apt-get install -y nodejs
# 下载 Bookinfo Ratings 应用程序的 DEB 包
curl -fLO https://dl.cloudsmith.io/public/tetrate/onboarding-examples/raw/files/bookinfo-ratings.deb
# 安装 DEB 包
sudo apt-get install -y ./bookinfo-ratings.deb
# 删除已下载的文件
rm bookinfo-ratings.deb
# 启用 SystemD 单元
sudo systemctl enable bookinfo-ratings
# 启动 Bookinfo Ratings 应用程序
sudo systemctl start bookinfo-ratings
验证 ratings
应用程序
执行以下命令验证 ratings
应用程序现在可以提供本地请求:
curl -fsS http://localhost:9080/ratings/1
你应该会得到类似以下的输出:
{"id":1,"ratings":{"Reviewer1":5,"Reviewer2":4}}
配置信任示例 CA
请记住,你之前使用自定义 CA 签名的 TLS 证书配置了 Workload Onboarding Endpoint。因此,运行在 AWS EC2 实例上并尝试连接到 Workload Onboarding Endpoint 的任何软件默认不信任其证书。
在继续之前,你必须配置 EC2 实例以信任你的自定义 CA。
首先,更新 apt
包列表:
sudo apt-get update -y
然后安装 ca-certificates
包:
sudo apt-get install -y ca-certificates
将你在设置证书时创建的文件中的 example-ca.crt.pem
文件的内容复制并放置在 EC2 实例上的路径 /usr/local/share/ca-certificates/example-ca.crt
下。
可以使用你喜欢的工具来执行此操作。如果你尚未安装任何编辑器或工具,你可以使用以下步骤组合 cat
和 dd
:
- 执行
cat <<EOF | sudo dd of=/usr/local/share/ca-certificates/example-ca.crt
- 复制
example-ca.crt.pem
的内容,并粘贴到执行上一步的终端中 - 输入
EOF
并按Enter
完成第一个命令
将自定义 CA 放在正确位置后,执行以下命令:
sudo update-ca-certificates
这将重新加载可信 CA 的列表,并包括你的自定义 CA。
安装 Istio Sidecar
通过执行以下命令安装 Istio sidecar。将 ONBOARDING_ENDPOINT_ADDRESS
替换为 [你之前获取
的值](../enable-workload-onboarding#verify-the-workload-onboarding-endpoint)。
# 下载 DEB 包
curl -fLO \
--connect-to "onboarding-endpoint.example:443:${ONBOARDING_ENDPOINT_ADDRESS}:443" \
"https://onboarding-endpoint.example/install/deb/amd64/istio-sidecar.deb"
# 下载校验和
curl -fLO \
--connect-to "onboarding-endpoint.example:443:${ONBOARDING_ENDPOINT_ADDRESS}:443" \
"https://onboarding-endpoint.example/install/deb/amd64/istio-sidecar.deb.sha256"
# 验证校验和
sha256sum --check istio-sidecar.deb.sha256
# 安装 DEB 包
sudo apt-get install -y ./istio-sidecar.deb
# 删除已下载的文件
rm istio-sidecar.deb istio-sidecar.deb.sha256
安装 Workload Onboarding Agent
通过执行以下命令安装 Workload Onboarding Agent。将 ONBOARDING_ENDPOINT_ADDRESS
替换为 你之前获取的值。
# 下载 DEB 包
curl -fLO \
--connect-to "onboarding-endpoint.example:443:${ONBOARDING_ENDPOINT_ADDRESS}:443" \
"https://onboarding-endpoint.example/install/deb/amd64/onboarding-agent.deb"
# 下载校验和
curl -fLO \
--connect-to "onboarding-endpoint.example:443:${ONBOARDING_ENDPOINT_ADDRESS}:443" \
"https://onboarding-endpoint.example/install/deb/amd64/onboarding-agent.deb.sha256"
# 验证校验和
sha256sum --check onboarding-agent.deb.sha256
# 安装 DEB 包
sudo apt-get install -y ./onboarding-agent.deb
# 删除已下载的文件
rm onboarding-agent.deb onboarding-agent.deb.sha256