快速入门

最近更新时间:2024-11-11 11:35:11

我的收藏

预置条件

在开始使用本快速入门指南之前,请确保满足以下预置条件:
腾讯云凭证:在使用 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-kind
Kubernetes control plane is running at https://127.0.0.1:60425
CoreDNS is running at https://127.0.0.1:60425/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To 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 AGE
crossplane-6494656b8b-qr62x 1/1 Running 0 30s
crossplane-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 AGE
provider-tencentcloud True True xpkg.upbound.io/crossplane-contrib/provider-tencentcloud:v0.8.1 22h

配置 Provider 密钥

创建密钥

执行以下命令,通过 Kubernetes 配置文件,创建密钥:
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
name: tencentcloud-aksk
namespace: crossplane-system
type: Opaque
stringData:
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/v1alpha1
kind: ProviderConfig
metadata:
name: default
spec:
credentials:
source: Secret
secretRef:
name: tencentcloud-aksk
namespace: crossplane-system
key: credentials
EOF
输出信息如下:
providerconfig.tencentcloud.crossplane.io/default created

使用 Crossplane 创建腾讯云 VPC 资源

执行以下命令,通过 Kubernetes 配置文件,创建 VPC:
cat <<EOF | kubectl apply -f -
apiVersion: vpc.tencentcloud.crossplane.io/v1alpha1
kind: VPC
metadata:
name: resource-vpc
namespace: crossplane-system
spec:
forProvider:
cidrBlock: 10.1.0.0/16
name: crossplane-test-vpc
EOF
输出信息如下:
vpc.vpc.tencentcloud.crossplane.io/resource-vpc created

验证创建的资源

执行命令kubectl get vpc,输出如下信息代表 VPC 创建成功:
❯ kubectl get vpc
NAME READY SYNCED EXTERNAL-NAME AGE
resource-vpc True True vpc-dhckvylj 13s
此时,您可以在 腾讯云控制台 查看创建的 VPC 资源。