kubernetes - 如何从 REST API 创建 Pod

标签 kubernetes kubernetes-pod kubernetes-apiserver

如何使用 REST API 创建 Pod?

我检查了 Kubernetes API 文档:
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#-strong-write-operations-strong--54

他们正在写需要使用 POST 请求:POST /api/v1/namespaces/{namespace}/pods
我有这个简单的 nginx pod 的 YAML:

cat > nginx-pod.yaml <<EOF
apiVersion: v1
kind: Pod
metadata:
  name: nginx1
spec:
  containers:
  - name: nginx
    image: nginx:1.7.9
    ports:
    - containerPort: 80
EOF

最佳答案

需要将 YAML 文件转换为 JSON 文件:

cat > nginx-pod.json <<EOF
{
    "apiVersion": "v1",
    "kind": "Pod",
    "metadata": {
        "name": "nginx1"
    },
    "spec": {
        "containers": [
            {
                "name": "nginx",
                "image": "nginx:1.7.9",
                "ports": [
                    {
                        "containerPort": 80
                    }
                ]
            }
        ]
    }
}
EOF

像这样使用 curl 命令:
curl -k -v -X POST -H "Authorization: Bearer <JWT_TOKEN>" -H "Content-Type: application/json" https://127.0.0.1:6443/api/v1/namespaces/default/pods -d@nginx-pod.json  

当然,您使用的 token 应该具有创建 pod 的权限。

如果有人有办法在不转换为 JSON 的情况下做到这一点,请分享。

关于kubernetes - 如何从 REST API 创建 Pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51176283/

相关文章:

amazon-web-services - 将 awslogs 与 kubernetes 一起使用 'natively'

kubernetes - 如何使用上下文为 ServiceAccount 创建角色

python - ValueError : Invalid value for selector, 不能为 None

kubernetes - 目标/etc/default/kubelet 不存在

kubernetes - 水平 Pod Autoscale 无法读取指标

docker - Pod部署问题和Kubernetes集群上的查询

Kubernetes |任何可用于 Pod 重启的钩子(Hook)?

使用同一个代码库但配置不同(环境变量)的 kubernetes 多个部署

kubernetes - 每个节点的 CPU/内存请求和限制

kubernetes - 如何使用 apiVersion "CertificateSigningRequest"为 webhook 创建 "certificates.k8s.io/v1"