激活 Azure Arc 的 Kubernetes 和监控

首先

Azure Arc enabled Kubernetes 是什么?

在中国,虽然有一些在 Azure Kubernetes 服务 (AKS) 之外部署在本地或在 GCP、AWS 上运行的 Kubernetes 集群,但 Azure Arc 可以将这些集群与 Azure 进行连接,以类似于 AKS 的方式进行使用。对不起,我以为你已经知道,实际上我也并不是很了解。

在这个网站上有非常清晰易懂的图示。它是关于在群集中安装Azure Arc启用的Kubernetes代理,并使其连接到Azure的内容。

监控的启用是指

如果您在AKS上运行,可以使用Azure Monitor的容器洞察功能监视运行情况,并设置警报等多种操作。
只需对已配置Azure Arc的Kubernetes集群进行一些设置,即使是在本地或其他云服务上运行,也可以通过Azure门户进行相同的操作。

各种步骤 (gè

在这里,我将记录下安装时的备忘录,只是试用。

1. 預先準備

由於有一些需要花點時間的部分,所以請不要太在意細微的地方,如果不需要的話,可以跳過閱讀。

这次我们选择了在Windows 10 Pro上运行的Minikube作为试验的Azure Arc enabled Kubernetes目标。
由于该计算机没有安装Minikube,下面将从这里开始。
此外,由于与后面提到的安装脚本相关的Chocolaty和Azure CLI的最新版本安装遇到了阻碍,也会在下文中进行记录。

2. 巧克力の安装

您可以使用Chocolaty来安装后续步骤中的Minikube和Helm。

https://chocolatey.org/→ 我们按照该网站的安装步骤进行操作。

3. 安装Minikube

为了在Windows系统中运行测试集群,我们将进行以下操作。

按照此网站的安装步骤进行:https://v1-18.docs.kubernetes.io/docs/tasks/tools/install-minikube/。

4. 安装Helm

Helm是一个方便的工具,可用于在Kubernetes上安装POD。在下一步的监控启用过程中,安装程序脚本会在内部使用它。

请按照此网站上的安装步骤进行操作:https://helm.sh/docs/intro/install/

5. 安装 Azure CLI。

在创建后续步骤中的”Kubernetes – Azure Arc”资源时,需要使用Azure CLI。如果没有安装最新版本,安装程序可能会运行起来变得麻烦。

请按照此网站中的安装步骤进行安装:https://docs.microsoft.com/zh-cn/cli/azure/install-azure-cli-windows?tabs=azure-cli。

6. 创建Kubernetes集群

按照以下步骤,在Minikube上创建集群。
我认为任何方式都可以,但这次我们使用了Hyper-V来创建。
在后续步骤中,不需要管理员权限。

    1. 使用管理员权限启动PowerShell控制台。

 

    1. 执行以下命令创建集群。

 

    创建成功后,关闭控制台。
minikube --kubernetes-version 1.16.15 --driver=hyperv start

另外,在这里指定了1.16.15版本。虽然没有仔细调查过,但如果不指定版本号进行创建的话,在后续的Azure Arc enabled Kubernetes设置步骤中会出现警告,所以就这样做了。也许这是不必要的。

Unable to install helm release: W0405 16:09:25.775265    9884 warnings.go:70] apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition

配置启用 Azure Arc 的 Kubernetes

按照以下步骤操作,将Minikube集群连接到Azure Arc启用的Kubernetes。

创建Azure订阅

如果没有拥有的话,可以使用免费空间来创建。

创建启用了 Azure Arc 的 Kubernetes

image.png

作为步骤,有1到5步,但在Azure门户上几乎没有什么要做的。

(1) 先决条件选项卡

image.png

(2) 群集细节的选项卡

进行各种设置。

Resource groupで、適当なリソースグループ名の指定をします。必要な場合は、Create newを押して新規に作成します。

Cluster nameで、新しく作られるAzure Arc enabled Kubernetesリソースの名前を入力します。

Regionには、適当なリージョンを指定します。注意点としては、今のところ使用可能なリージョンに限りがあります。私は(US) East US 2を選びました。

Is cluster behind proxy server?には、そのままNoを選びました。おそらくオンプレなどでProxyを必要とするサーバーで使用したりするものでしょうか。

image.png

(3) 标签的选项卡 (Biaoqian de xuanxiangka)

image.png

(4)运行脚本的选项卡

image.png

During execution, several Pods are installed as Agents in the azure-arc Namespace.

另外,在我的手头上,出现了以下这样的消息,但是调整集群的版本可能会解决这个问题。

Ensure that you have the latest helm version installed before proceeding.
This operation might take a while...

'Custom-locations' feature couldn't be enabled on this cluster as the pre-requisite registration of 'Microsoft.ExtendedLocation' was not met. More details for enabling this feature later on this cluster can be found here - https://aka.ms/EnableCustomLocations

(5) 验证选项卡

当达到这一点,就是结束的时候了。按下”前往集群”以确认已创建的资源。

image.png

确认已创建的Azure资源

image.png

监控设置

为了在先前绑定到Minikube集群上使用Azure Monitor,需按照本文档进行配置。
在这里,我们将使用PowerShell脚本,但需要注意的是,目前存在一些不起作用的部分,所以只需注意该部分即可继续操作。

(1)下载 PowerShell 脚本

打开PowerShell控制台,然后下载PowerShell脚本。

Invoke-WebRequest https://aka.ms/enable-monitoring-powershell-script -OutFile enable-monitoring.ps1

如果直接运行下载的脚本enable-monitoring.ps1,则在后面HELM操作的部分会出现错误。因此,我们可以用文本编辑器打开该脚本,并将第67行的$mcrChartVersion = “2.8.2”更改为$mcrChartVersion = “2.8.1”后保存。
我认为这只是一个暂时的问题,过一段时间后这个操作应该就不再需要了。

(2) 执行PowerShell脚本

在PowerShell控制台中,继续定义变量,并执行先前的脚本。
通过执行此脚本,似乎会在Minikube的kube-system命名空间中安装用于监控的Agent的Pod,并在Azure订阅中创建Log Analytics Workspace资源组。

# リソースIDの指定:この変数は、先の"作成されたAzureリソースの確認"の手順のURLの一部をコピーアンドペーストすると簡単に値を定義できます。
$azureArcClusterResourceId = "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Kubernetes/connectedClusters/<clusterName>"

# KubernetesのContextの名前を指定(`kubectl config get-contexts`で表示される名前と同様のものを指定する)
$kubeContext = "minikube"

# 実行
.\enable-monitoring.ps1 -clusterResourceId $azureArcClusterResourceId -kubeContext $kubeContext

如果在执行后出现了”成功为集群启用了 Azure Monitor for containers”的消息,那么就可以结束了。

(3) 在Azure门户中查看监视器

打开Azure门户,如同之前“确认创建的Azure资源”时一样。
从左侧菜单中选择“监视”下的“洞察”和“指标”,可以查看集群的运行状态。

image.png

费用

由于我没有调查维护费用的具体金额,所以很抱歉,请参考其他文件。
据Azure策略显示,最多免费提供6个虚拟CPU。根据写明的每服务器每月¥672的Azure政策,可能是这个费用。

最终

Azure Arc enabled Kubernetes是最近正式发布的。虽然在准备阶段遇到了一些困难,但之后的设置非常顺利。
工作上,它可以简化对本地系统的管理,此外,我也考虑在个人创建的树莓派Kubernetes集群上使用它。

结束

广告
将在 10 秒后关闭
bannerAds