为华为云自建集群安装Agent
操作场景
本指导适用于在可访问SWR镜像仓的华为云自建集群上安装Agent。按照本指导配置完成后,HSS将自动在集群节点上安装Agent,并能够随集群扩容自动为新节点安装Agent,在集群缩容时同步卸载Agent。
步骤一:准备kubeconfig文件
kubeconfig文件用于将集群的操作权限授权给HSS,方式一配置的kubeconfig文件包含集群管理员权限,方式二生成的kubeconfig文件仅包含HSS所需权限,如果您担心过度授权的问题,请通过方式二准备kubeconfig文件。
- 方式一:配置默认的kubeconfig文件
默认的kubeconfig文件在$HOME/.kube/config路径下,您需要按以下操作创建HSS的专属命名空间。
- 登录任一集群节点。
- 创建hss.yaml文件,并将以下内容复制到hss.yaml文件中。
{"metadata":{"name":"hss"},"apiVersion":"v1","kind":"Namespace"}
- 执行以下命令,创建HSS的专属命名空间。
kubectl apply -f hss.yaml
- 方式二:生成HSS专用的kubeconfig文件
- 创建HSS的专属命名空间和服务账号。
- 登录任一集群节点。
- 创建hss-account.yaml文件,并将以下内容复制到hss-account.yaml文件中。
{"metadata":{"name":"hss"},"apiVersion":"v1","kind":"Namespace"}{"metadata":{"name":"hss-user","namespace":"hss"},"apiVersion":"v1","kind":"ServiceAccount"}{"metadata":{"name":"hss-user-token","namespace":"hss","annotations":{"kubernetes.io/service-account.name":"hss-user"}},"apiVersion":"v1","kind":"Secret","type":"kubernetes.io/service-account-token"}
- 执行以下命令,创建HSS的专属命名空间和服务账号。
kubectl apply -f hss-account.yaml
- 生成kubeconfig文件。
- 创建gen_kubeconfig.sh文件,并将以下内容复制到gen_kubeconfig.sh文件中。
#!/bin/bash KUBE_APISERVER=`kubectl config view --output=jsonpath='{.clusters[].cluster.server}' | head -n1 ` CLUSTER_NAME=`kubectl config view -o jsonpath='{.clusters[0].name}'` kubectl get secret hss-user-token -n hss -o yaml |grep ca.crt: | awk '{print $2}' |base64 -d >hss_ca_crt kubectl config set-cluster ${CLUSTER_NAME} --server=${KUBE_APISERVER} --certificate-authority=hss_ca_crt --embed-certs=true --kubeconfig=hss_kubeconfig.yaml kubectl config set-credentials hss-user --token=$(kubectl describe secret hss-user-token -n hss | awk '/token:/{print $2}') --kubeconfig=hss_kubeconfig.yaml kubectl config set-context hss-user@kubernetes --cluster=${CLUSTER_NAME} --user=hss-user --kubeconfig=hss_kubeconfig.yaml kubectl config use-context hss-user@kubernetes --kubeconfig=hss_kubeconfig.yaml
- 执行以下命令,生成名称为“hss_kubeconfig.yaml”的kubeconfig文件
bash gen_kubeconfig.sh
- 创建gen_kubeconfig.sh文件,并将以下内容复制到gen_kubeconfig.sh文件中。
- 创建HSS的专属命名空间和服务账号。
步骤二:为华为云自建集群安装Agent
- 登录管理控制台。
- 在页面左上角选择“区域”,单击,选择“安全与合规 > 企业主机安全”,进入主机安全平台界面。
- 在左侧导航栏,选择“容器安装与配置”页面。 ,进入
- 在“集群”页签,单击“安装容器安全Agent”,弹出“容器资产接入与安装”对话框。
- 选择“非CCE集群(公网接入)”,并单击“开始配置”。
- 配置集群接入信息,并单击“生成命令”。接入信息相关参数说明如表 配置接入信息参数说明所示。
图1 配置集群接入信息
表1 配置接入信息参数说明 参数名称
参数说明
集群名称
填写接入的集群名称。
服务商
选择集群所属的服务商。目前支持接入以下服务商的集群:
- 阿里云
- 腾讯云
- AWS
- 微软云
- 自建
- IDC自建
上传kubeconfig
添加并上传根据步骤一:准备kubeconfig文件配置好的kubeconfig文件。
选择Context
上传kubeconfig文件后,HSS会自动解析出Context。
选择有效期
上传kubeconfig文件后,HSS会自动解析出有效期。您可以选择最终有效期以前的时间,在选择的有效期到期后,您需要重新接入该资产。
- 执行以下操作为集群安装集群连接组件(ANP-Agent),建立HSS和集群的连接。
- 在“容器资产接入与安装”对话框中,单击“下载Yaml文件”,下载生成的命令文件。
图2 下载Yaml文件
- 将命令文件拷贝到任一节点目录下。
- 执行以下命令安装集群连接组件(ANP-Agent)。
kubectl apply -f proxy-agent.yaml
- 执行以下命令,查询集群连接组件(ANP-Agent)是否安装成功。
kubectl get pods -n hss | grep proxy-agent
界面回显如图 集群Agent安装成功所示,表示集群连接组件(ANP-Agent)安装成功。
- 执行以下命令,查询集群和HSS是否成功建立连接。
for a in $(kubectl get pods -n hss| grep proxy-agent | cut -d ' ' -f1); do kubectl -n hss logs $a | grep 'Start serving';done
界面回显如图 集群连接HSS成功所示,表示集群和HSS建立连接成功。
- 在“容器资产接入与安装”对话框中,单击“下载Yaml文件”,下载生成的命令文件。
- 单击“下一步”。
- 配置Agent相关参数。参数说明如表 Agent配置参数说明所示。
- 配置完成,单击“确认”,开始安装HSS Agent。
- 在集群列表中,查看集群状态为“运行中”,表示集群接入HSS成功。