Kubectl-AI: 一款使用 OpenAI GPT 自动生成应用 Kubernetes 部署清单的神器

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

Kubectl-AI: 一款使用 OpenAI GPT 自动生成应用 Kubernetes 部署清单的神器_第1张图片

找到一个好插件,人话翻译机。

该项目是一个kubectl插件,使用OpenAI GPT生成和应用Kubernetes清单。

作者的主要动机是避免在开发/测试时找到和收集随机清单。

下载地址

官方首页: https://github.com/sozercan/kubectl-ai

用法

先决条件

kubectl-ai需要OpenAI API密钥或Azure OpenAI服务 API密钥和端点以及有效的Kubernetes配置。

对于OpenAI和Azure OpenAI,您可以使用以下环境变量:

export OPENAI_API_KEY=
export OPENAI_DEPLOYMENT_NAME=

支持以下模型:

  • code-davinci-002

  • text-davinci-003

  • gpt-3.5-turbo-0301(Azure的部署必须命名为gpt-35-turbo-0301

  • gpt-3.5-turbo

  • gpt-35-turbo-0301

对于Azure OpenAI服务,您可以使用以下环境变量:

export AZURE_OPENAI_ENDPOINT=">

如果设置了AZURE_OPENAI_ENDPOINT变量,则将使用Azure OpenAI服务。否则,它将使用OpenAI API。

安装

  • 从GitHub releases下载二进制文件。

  • 如果您想将其用作[kubectl插件](https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/),则将kubectl-ai二进制文件复制到您的PATH。如果不是,则也可以单独使用二进制文件。

标志和环境变量

  • 可以设置-require-confirmation标志或REQUIRE_CONFIRMATION环境变量,以在应用清单之前提示用户进行确认。默认为true。

  • 可以将-temperature标志或TEMPERATURE环境变量设置在0到1之间。较高的温度将导致更具创意的完成。较低的温度将导致更确定性的完成。默认为0。

示例

创建具有特定值的对象:

$ kubectl ai "create an nginx deployment with 3 replicas"
✨ 尝试应用以下清单:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
EOF
使用箭头键导航:↓ ↑ → ←
? 是否要应用此内容?[应用/不应用]:
  ▸ 应用
    不应用
$ kubectl ai "scale nginx-deployment to 5 replicas"
✨ 尝试应用以下清单:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 5
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
EOF
使用箭头键导航:↓ ↑ → ←
? 是否要应用此内容?[应用/不应用]:
  ▸ 应用
    不应用

请注意,插件不知道集群的当前状态(尚未?),因此它将始终生成完整的清单。

可选的--require-confirmation标志:

$ kubectl ai "create a service with type LoadBalancer with selector as 'app:nginx'" --require-confirmation=false
✨ 尝试应用以下清单:
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
  - port: 80
    targetPort: 80
  type: LoadBalancer

多个对象:

$ kubectl ai "create a foo namespace then create nginx pod in that namespace"
✨ 尝试应用以下清单:
apiVersion: v1
kind: Namespace
metadata:
  name: foo
---
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  namespace: foo
spec:
  containers:
  - name: nginx
    image: nginx:latest
EOF
使用箭头键导航:↓ ↑ → ←
? 是否要应用此内容?[应用/不应用]:
  ▸ 应用
    不应用

致谢和鸣谢

感谢 @simongottschlag 在 https://github.com/simongottschlag/azure-openai-gpt-slack-bot上对Azure OpenAI分支的工作,该分支基于 https://github.com/PullRequestInc/go-gpt3

本文转载自:「云原生生态圈」,原文:https://tinyurl.com/2bsstbye,版权归原作者所有。欢迎投稿,投稿邮箱: [email protected]

7c319681ba94fa7e7f6b3ea6ae64e3bf.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

47c1eeb5c2a045cf8437e5c8b918b483.png

你可能还喜欢

点击下方图片即可阅读

Kubectl-AI: 一款使用 OpenAI GPT 自动生成应用 Kubernetes 部署清单的神器_第2张图片

微软 Bing 上线 AI 绘图工具 Image Creator,30 秒轻松生成图片


Kubectl-AI: 一款使用 OpenAI GPT 自动生成应用 Kubernetes 部署清单的神器_第3张图片
点击上方图片,『美团|饿了么』外卖红包天天免费领

Kubectl-AI: 一款使用 OpenAI GPT 自动生成应用 Kubernetes 部署清单的神器_第4张图片

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

你可能感兴趣的:(kubernetes,人工智能,gpt,运维,容器)