云资源自动化 for Crossplane 快速入门

这篇说说使用Crossplane在Kubernetes集群中创建腾讯云VPC的完整流程,包括预置条件、集群创建、Crossplane与TencentCloud Provider安装、密钥配置及VPC资源创建。 预置条件:需准备腾讯云SecretId/SecretKey、VPC创建权限、kubectl及Helm v3.2.0+。 安装部署:通过kind创建集群,用Helm安装Crossplane,再部署TencentC。

相关产品
云资源自动化 for Crossplane 产品页,含版本规格、价格与购买入口。

一、预置条件

在开始使用本快速入门指南之前,请确保满足以下预置条件:

·腾讯云凭证:在使用 Crossplane 之前,你需要拥有有效的腾讯云 SecretId 和 SecretKey。如果你还没有这些凭证,请前往 访问管理控制台 的 API 密钥管理页面申请安全凭证。

·腾讯云账号:你需要拥有创建 VPC(私有网络)的权限。

·kubectl:你需要能够正常访问你的 Kubernetes 集群,详情请参见 安装 kubectl。

·Helm:你需要安装 Helm,并确保版本为 v3.2.0 或更高版本,详情请参见 安装 Helm。

二、创建集群

集群创建有多种方式,这里介绍通过 kind 快速创建一个本地 Kubernetes 集群。

更多方式,请参见 结合 minikube 使用 CrossPlane。

三、安装 kind

请参见 kind 产品文档 的 Installation 步骤完成安装。

kind 创建集群需要依赖 docker,请确保已经提前安装。

四、创建集群

在终端中执行以下命令,创建集群。

kind create cluster

稍等片刻,将创建默认集群 kind。

五、(可选)查看集群状态

执行命令kubectl cluster-info –context kind-kind,查看当前集群的状态:

如果你的环境存在多个 Kubernetes 集群,请参见 在多个集群上下文中切换 进行管理。

❯ kubectl cluster-info –context kind-kindKubernetes control plane is running at https://127.0.0.1:60425CoreDNS is running at https://127.0.0.1:60425/api/v1/namespaces/kube-system/services/kube-dns:dns/proxyTo further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

六、安装 Crossplane

执行下列命令,将 Crossplane 安装到当前集群中。

helm repo add crossplane-stable https://charts.crossplane.io/stable && \\helm repo update && \\helm install crossplane \\–namespace crossplane-system \\–create-namespace crossplane-stable/crossplane

七、验证 Crossplane 安装

执行以下命令,验证 Crossplane 是否成功安装。

kubectl get pods -n crossplane-system

安装成功后,你可以看到 crossplane 和 crossplane-rbac-manager 两个正在运行的 pod。

NAME READY STATUS RESTARTS AGEcrossplane-6494656b8b-qr62x 1/1 Running 0 30scrossplane-rbac-manager-8458557cdd-lfn8q 1/1 Running 0 30s

八、安装 TencentCloud Provider

执行以下命令,将腾讯云 Provider(如 v0.8.1,点击获取 更多版本)的配置信息部署到集群中:

cat <<EOF | kubectl apply -f –
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata: name: provider-tencentcloud
spec: package: xpkg.upbound.io/crossplane-contrib/provider-tencentcloud:v0.8.1
EOF

(可选)此外,也可以将上述配置信息写入 provider.yml 文件中,然后执行以下命令:

kubectl apply -f provider.yml

九、验证 Provider 安装

执行以下命令,验证 Provider 是否成功安装。

kubectl get providers

返回信息如下所示(版本号可能存在差异),则表示 Provider 安装成功。

NAME INSTALLED HEALTHY PACKAGE AGEprovider-tencentcloud True True xpkg.upbound.io/crossplane-contrib/provider-tencentcloud:v0.8.1 22h

十、创建密钥

执行以下命令,通过 Kubernetes 配置文件,创建密钥:

cat <<EOF | kubectl apply -f -apiVersion: v1kind: Secretmetadata: name: tencentcloud-aksk namespace: crossplane-systemtype: OpaquestringData: credentials: | { "secret_id": "********************************", "secret_key": "********************************", "region": "ap_xxxxxx" }EOF

输出信息如下:

secret/tencentcloud-aksk created

十一、为 Provider 配置密钥

执行以下命令,通过 Kubernetes 配置文件,配置 Provider 密钥:

cat <<EOF | kubectl apply -f -apiVersion: tencentcloud.crossplane.io/v1alpha1kind: ProviderConfigmetadata: name: defaultspec: credentials: source: Secret secretRef: name: tencentcloud-aksk namespace: crossplane-system key: credentialsEOF

输出信息如下:

providerconfig.tencentcloud.crossplane.io/default created

十二、使用 Crossplane 创建腾讯云 VPC 资源

执行以下命令,通过 Kubernetes 配置文件,创建 VPC:

cat <<EOF | kubectl apply -f -apiVersion: vpc.tencentcloud.crossplane.io/v1alpha1kind: VPCmetadata: name: resource-vpc namespace: crossplane-systemspec: forProvider: cidrBlock: 10.1.0.0/16 name: crossplane-test-vpcEOF

输出信息如下:

vpc.vpc.tencentcloud.crossplane.io/resource-vpc created

十三、验证创建的资源

执行命令kubectl get vpc,输出如下信息代表 VPC 创建成功:

❯ kubectl get vpcNAME READY SYNCED EXTERNAL-NAME AGEresource-vpc True True vpc-dhckvylj 13s

此时,你可以在 腾讯云控制台 查看创建的 VPC 资源。

赞 (0)
上一篇 4天前
下一篇 4天前