安装并设置kubectl 以下操作以Linux环境为例,更多详情信息请参见安装和配置kubectl。 1、以下步骤需要在UCS网格接入集群纳管的节点上操作。 2、以下步骤2执行asm-iam-authenticator generate-kubeconfig命名后会更新节点默认配置的config内容,建议执行以下命令备份config文件。 cp $HOME/.kube/config $HOME/.kube/config.backup 将下载kubectl中下载的kubectl赋予可执行权限,并放到PATH目录下。 chmod +x ./kubectl mv ./kubectl $PATH 其中,$PATH为PATH路径(如/usr/local/bin),请替换为实际的值。 您还可以通过如下命令查看kubectl的版本,如下所示。 kubectl version --client=true Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.3", GitCommit:"434bfd82814af038ad94d62ebe59b133fcb50506", GitTreeState:"clean", BuildDate:"2022-10-12T10:57:26Z", GoVersion:"go1.19.2", Compiler:"gc", Platform:"linux/amd64"}Kustomize Version: v4.5.7 配置
IAM 认证信息并持久化到本地。 将下载asm-iam-authenticator中下载的asm-iam-authenticator赋予可执行权限,并放到PATH目录下。 chmod +x ./asm-iam-authenticator mv ./asm-iam-authenticator $PATH 初始化asm-iam-authenticator配置。 初始化asm-iam-authenticator提供了AK/SK和用户名/密码两种方式,请选择其中一种执行。 使用AK/SK的方式配置IAM认证信息 asm-iam-authenticator generate-kubeconfig --iam-endpoint=https://$iam_endpoint --mesh-endpoint=https://$mesh_endpoint --mesh-region=$mesh_region --ak=xxxxxxx --sk=xxxxxx 其中, iam_endpoint为IAM服务的Endpoint,请参见地区和终端节点 mesh_endpoint为网格实例的Endpoint,获取方法请参见获取网格实例Endpoint; mesh_region为网格所在区域; ak、sk的获取方法请参见获取AK/SK,ak为文件中Access Key部分,sk为文件中Secret Key部分。 例如,iam_endpoint为https://iam.cn-north-4.myhuaweicloud.com,mesh_endpoint为https://xx.xx.xx.xx:5443, mesh_region为cn-north-4, ak的值为my-ak,sk的值为ABCDEFAK.. ,则命令如下所示: asm-iam-authenticator generate-kubeconfig --iam-endpoint=https://iam.cn-north-4.myhuaweicloud.com --mesh-endpoint=https://xx.xx.xx.xx:5443 --mesh-region=cn-north-4 --ak=my-ak --sk=ABCDEFAK.. 执行上述命令后,显示如下类似信息: Switched to context "asm-context-cn-north-4-my-ak" 其中,asm-context-cn-north-4-my-ak为context名,可通过kubectl config get-contexts命令查看。 使用用户名/密码的方式配置IAM认证信息 asm-iam-authenticator generate-kubeconfig --iam-endpoint=https://$iam_endpoint --mesh-endpoint=https://$mesh_endpoint --mesh-region=$mesh_region --domain-name=xxxxxxx --user-name=xxxxxx --password='xxxxxx' 其中,iam_endpoint为IAM服务的Endpoint,请参见地区和终端节点, mesh_endpoint为网格实例的Endpoint,获取方法请参见获取网格实例Endpoint; mesh_region为网格所在区域; domain-name为租户名,user-name为子用户名,password为子用户密码,请根据替换为实际的值。 若无子用户,user-name与domain-name配置一致即可,也可以不添加user-name参数。 IAM的Endpoint请参见地区和终端节点,请注意需要使用与网格实例地区相同的Endpoint。 在非安全的环境中使用kubectl,建议您完成此步骤后,使用环境变量的方式重新配置认证信息,具体参考非安全环境配置kubectl。 配置完成后,即可通过kubectl命令操作网格实例的相关资源。 例如,查看北京四的namespace资源。 kubectl get serviceentry -n xxx 执行上述命令后,提示如下类似信息: 当通过API访问公有云系统时,需要使用访问用户名密码或者密钥(AK/SK)进行身份认证并对请求进行加密,确保请求的机密性、完整性和请求双方身份的正确性。请妥善保存$HOME/.kube/config配置文件,确保访问密钥不被非法使用。 当开启cache缓存token提高访问性能时,token会以文件的方式保存在$HOME/.asm/cache的子目录下,请及时清理。 当发现访问密钥被非法使用(包括丢失、泄露等情况),可以自行删除或者通知管理员重置访问密钥,重新配置。 删除的访问密钥将无法恢复。