将我编写的 NodeJS REST API 添加到 Kubernetes 中作为自定义资源。
代码示例:
首先,您需要创建 Custom Resource Definition(CRD),该 CRD 将定义您的自定义资源。这是一个样例 CRD:
apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: myapi spec: group: mygroup.example.com version: v1 names: kind: MyAPI plural: myapis singular: myapi scope: Namespaced
然后,您需要为您的 API 创建一个 Kubernetes 部署。这是一个样例部署:
apiVersion: apps/v1 kind: Deployment metadata: name: myapi labels: app: myapi spec: replicas: 1 selector: matchLabels: app: myapi template: metadata: labels: app: myapi spec: containers: - name: myapi image: myusername/myapi:latest env: - name: PORT value: "8080" ports: - containerPort: 8080
最后,您需要创建 Service,它将公开您的 API 以供外部访问。这是一个样例 Service:
apiVersion: v1 kind: Service metadata: name: myapi spec: selector: app: myapi ports:
现在,您的 NodeJS REST API 已经以自定义资源的形式在 Kubernetes 中可用了。您可以使用 kubectl 命令或 Kubernetes API 与其进行交互。例如,您可以使用以下命令创建一个 MyAPI 资源:
kubectl create -f myapi.yaml
或者,您也可以使用 Kubernetes API 与其交互:
GET /apis/mygroup.example.com/v1/namespaces/default/myapis POST /apis/mygroup.example.com/v1/namespaces/default/myapis PUT /apis/mygroup.example.com/v1/namespaces/default/myapis/{name} DELETE /apis/mygroup.example.com/v1/namespaces/default/myapis/{name}