javascript - 使用Kubernetes JavaScript客户端的createDeployment()

标签 javascript kubernetes kubectl

我正在尝试使用Kubernetes Javascript客户端创建一个部署或副本集。 Kubernetes javascript客户端文档实际上不存在。
有什么办法可以做到这一点?

最佳答案

假设通过:

  • createDeployment()
  • 您所指的
  • :createNamespacedDeployment()

  • 您可以使用以下代码段通过Javascript客户端库创建Deployment:
    const k8s = require('@kubernetes/client-node');
    
    const kc = new k8s.KubeConfig();
    kc.loadFromDefault();
    
    const k8sApi = kc.makeApiClient(k8s.AppsV1Api); // <-- notice the AppsV1Api
    
    // Definition of the deployment
    var amazingDeployment = {
        metadata: {
           name: 'nginx-deployment'
        },
        spec: {
           selector: {
              matchLabels: {
                 app: 'nginx'
              }
           },
           replicas: 3,
           template: {
              metadata: {
                 labels: {
                    app: 'nginx'
                 }
              },
              spec: {
                 containers: [
                    {
                       name: 'nginx',
                       image: 'nginx'
                       
                    } ]
              }
           }
        }
     };
    
    // Sending the request to the API
    k8sApi.createNamespacedDeployment('default', amazingDeployment).then(
      (response) => {
        console.log('Yay! \nYou spawned: ' + amazingDeployment.metadata.name);
      },
      (err) => {
        console.log('Oh no. Something went wrong :(');
        // console.log(err) <-- Get the full output!
      }
    );
    

    Disclaimer!

    This code assumes that you have your ~/.kube/config already configured!


    使用以下命令首次运行此代码:
  • $ node deploy.js

  • 应该输出:
    Yay! 
    You spawned: nginx-deployment
    
    您可以通过以下方式检查Deployment是否存在:
  • $ kubectl get deployment nginx-deployment

  • NAME               READY   UP-TO-DATE   AVAILABLE   AGE
    nginx-deployment   3/3     3            3           6m57s
    
    再次运行此代码将输出(部署已存在!):
    Oh no. Something went wrong :(
    

    其他资源:
  • Github.com: Kubernetes-client: Javascript
  • 关于javascript - 使用Kubernetes JavaScript客户端的createDeployment(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64297139/

    相关文章:

    kubernetes - 降级kubectl版本以匹配minikube k8s版本

    javascript - 创建对象 - 如果设置了值,则包括键

    javascript - 如何将 JWT 保存到 localStorage

    javascript - extjs 4表单loadRecord实际上不会加载它

    Javascript 如果/否则 & setAttribute

    mysql - Kubernetes Docker/MySQL 一项服务中的多个数据库

    nginx - kubernetes liveness探针重新启动以CrashLoopback结尾的Pod

    kubernetes - PromQL "where"子句

    kubernetes - 如何列出 Kubernetes 节点 (AKS) 上的所有本地镜像

    kubernetes - 如何在 Kubernetes 上修补已部署的 Ingress 资源?