
ตัวดำเนินการนี้ได้รับการออกแบบมาเพื่อเปิดใช้งาน K8SGPT ภายในคลัสเตอร์ Kubernetes มันจะช่วยให้คุณสร้างทรัพยากรที่กำหนดเองที่กำหนดพฤติกรรมและขอบเขตของภาระงาน K8SGPT ที่ได้รับการจัดการ การวิเคราะห์และเอาต์พุตจะสามารถกำหนดค่าได้เพื่อเปิดใช้งานการรวมเข้ากับเวิร์กโฟลว์ที่มีอยู่

helm repo add k8sgpt https://charts.k8sgpt.ai/
helm repo update
helm install release k8sgpt/k8sgpt-operator -n k8sgpt-operator-system --create-namespace
ติดตั้งผู้ให้บริการจากส่วนการติดตั้ง
สร้างความลับ:
kubectl create secret generic k8sgpt-sample-secret --from-literal=openai-api-key= $OPENAI_TOKEN -n k8sgpt-operator-systemkubectl apply -f - << EOF
apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
name: k8sgpt-sample
namespace: k8sgpt-operator-system
spec:
ai:
enabled: true
model: gpt-3.5-turbo
backend: openai
secret:
name: k8sgpt-sample-secret
key: openai-api-key
# backOff:
# enabled: false
# maxRetries: 5
# anonymized: false
# language: english
# proxyEndpoint: https://10.255.30.150 # use proxyEndpoint to setup backend through an HTTP/HTTPS proxy
noCache: false
repository: ghcr.io/k8sgpt-ai/k8sgpt
version: v0.3.41
#integrations:
# trivy:
# enabled: true
# namespace: trivy-system
# filters:
# - Ingress
# sink:
# type: slack
# webhook: <webhook-url> # use the sink secret if you want to keep your webhook url private
# secret:
# name: slack-webhook
# key: url
#extraOptions:
# backstage:
# enabled: true
EOF❯ kubectl get results -o json | jq .
{
" apiVersion " : " v1 " ,
" items " : [
{
" apiVersion " : " core.k8sgpt.ai/v1alpha1 " ,
" kind " : " Result " ,
" spec " : {
" details " : " The error message means that the service in Kubernetes doesn't have any associated endpoints, which should have been labeled with " control-plane=controller-manager " . nnTo solve this issue, you need to add the " control-plane=controller-manager " label to the endpoint that matches the service. Once the endpoint is labeled correctly, Kubernetes can associate it with the service, and the error should be resolved. " , ผู้ประกอบการ k8sgpt.ai อนุญาตให้ตรวจสอบหลายกลุ่มโดยให้ค่า kubeconfig
คุณลักษณะนี้น่าสนใจหากคุณต้องการที่จะโอบกอดวิศวกรรมแพลตฟอร์มเช่นการใช้กลุ่มกลุ่ม Kubernetes สำหรับผู้มีส่วนได้ส่วนเสียหลายราย โดยเฉพาะอย่างยิ่งออกแบบมาสำหรับโครงสร้างพื้นฐานที่ใช้คลัสเตอร์ API ผู้ประกอบการ k8sgpt.ai จะถูกติดตั้งในคลัสเตอร์การจัดการ API คลัสเตอร์เดียวกัน: อันนี้มีหน้าที่สร้างกลุ่มที่ต้องการตามผู้ให้บริการโครงสร้างพื้นฐานสำหรับกลุ่มเมล็ด
เมื่อคลัสเตอร์ที่ใช้คลัสเตอร์ API ได้รับการจัดเตรียม kubeconfig ตามอนุสัญญาการตั้งชื่อ ${CLUSTERNAME}-kubeconfig จะสามารถใช้งานได้ในเนมสเปซเดียวกัน: คีย์ข้อมูลลับทั่วไปคือ value นี้สามารถใช้เพื่อสั่งให้ผู้ประกอบการ k8sgpt.ai
$: kubectl get clusters
NAME PHASE AGE VERSION
capi-quickstart Provisioned 8s v1.28.0
$: kubectl get secrets
NAME TYPE DATA AGE
capi-quickstart-kubeconfig Opaque 1 8s
ปัญหาด้านความปลอดภัย
หากการตั้งค่าของคุณต้องการวิธีการพิเศษน้อยที่สุดจะต้องจัดเตรียม
kubeconfigที่แตกต่างกันเนื่องจากกลุ่ม API ที่สร้างขึ้นจะถูก จำกัด ไว้กับผู้ใช้adminclustr-admin
เมื่อคุณมี kubeconfig ที่ถูกต้องแล้วอินสแตนซ์ k8sgpt สามารถสร้างได้ดังต่อไปนี้
apiVersion : core.k8sgpt.ai/v1alpha1
kind : K8sGPT
metadata :
name : capi-quickstart
namespace : default
spec :
ai :
anonymized : true
backend : openai
language : english
model : gpt-3.5-turbo
secret :
key : api_key
name : my_openai_secret
kubeconfig :
key : value
name : capi-quickstart-kubeconfig เมื่อใช้ k8sgpt.ai Operator จะสร้างการปรับใช้ k8sgpt.ai โดยใช้กลุ่มเมล็ด kubeconfig ที่กำหนดไว้ในสนาม /spec/kubeconfig
วัตถุ Result ที่ได้จะมีอยู่ในเนมสเปซเดียวกันกับที่อินสแตนซ์ k8sgpt.ai ได้รับการปรับใช้ตามที่ติดป้ายตามคีย์ต่อไปนี้:
k8sgpts.k8sgpt.ai/name : ชื่ออินสแตนซ์ k8sgpt.aik8sgpts.k8sgpt.ai/namespace : namespace อินสแตนซ์ k8sgpt.aik8sgpts.k8sgpt.ai/backend : แบ็กเอนด์ AI (ถ้าระบุ) ต้องขอบคุณป้ายกำกับเหล่านี้ผลลัพธ์ที่ได้สามารถกรองได้ตามคลัสเตอร์ที่ตรวจสอบที่ระบุโดยไม่ทำให้เกิดมลพิษคลัสเตอร์พื้นฐานด้วย k8sgpt.ai CRDS และปริมาณการคำนวณปริมาณการคำนวณเมล็ดพันธุ์รวมถึงการรักษาความลับเกี่ยวกับข้อมูลรับรองไดรเวอร์แบ็กเอนด์ AI
ในกรณีที่มีฟิลด์ที่หายไป
/spec/kubeconfigผู้ประกอบการk8sgpt.aiจะติดตามคลัสเตอร์ที่ถูกปรับใช้: สิ่งนี้เป็นไปได้โดยการติดตั้งServiceAccountที่ให้ไว้
ติดตั้งผู้ให้บริการจากส่วนการติดตั้ง
สร้างความลับ:
kubectl create secret generic k8sgpt-sample-cache-secret --from-literal=azure_client_id= < AZURE_CLIENT_ID > --from-literal=azure_tenant_id= < AZURE_TENANT_ID > --from-literal=azure_client_secret= < AZURE_CLIENT_SECRET > -n k8sgpt-
operator-system kubectl apply -f - << EOF
apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
name: k8sgpt-sample
namespace: k8sgpt-operator-system
spec:
ai:
model: gpt-3.5-turbo
backend: openai
enabled: true
secret:
name: k8sgpt-sample-secret
key: openai-api-key
noCache: false
repository: ghcr.io/k8sgpt-ai/k8sgpt
version: v0.3.41
remoteCache:
credentials:
name: k8sgpt-sample-cache-secret
azure:
# Storage account must already exist
storageAccount: "account_name"
containerName: "container_name"
EOF
ติดตั้งผู้ให้บริการจากส่วนการติดตั้ง
สร้างความลับ:
kubectl create secret generic k8sgpt-sample-cache-secret --from-literal=aws_access_key_id= < AWS_ACCESS_KEY_ID > --from-literal=aws_secret_access_key= < AWS_SECRET_ACCESS_KEY > -n k8sgpt-
operator-system kubectl apply -f - << EOF
apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
name: k8sgpt-sample
namespace: k8sgpt-operator-system
spec:
ai:
model: gpt-3.5-turbo
backend: openai
enabled: true
secret:
name: k8sgpt-sample-secret
key: openai-api-key
noCache: false
repository: ghcr.io/k8sgpt-ai/k8sgpt
version: v0.3.41
remoteCache:
credentials:
name: k8sgpt-sample-cache-secret
s3:
bucketName: foo
region: us-west-1
EOF
ติดตั้งผู้ให้บริการจากส่วนการติดตั้ง
สร้างความลับ:
kubectl create secret generic k8sgpt-sample-secret --from-literal=azure-api-key= $AZURE_TOKEN -n k8sgpt-operator-system kubectl apply -f - << EOF
apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
name: k8sgpt-sample
namespace: k8sgpt-operator-system
spec:
ai:
enabled: true
secret:
name: k8sgpt-sample-secret
key: azure-api-key
model: gpt-35-turbo
backend: azureopenai
baseUrl: https://k8sgpt.openai.azure.com/
engine: llm
noCache: false
repository: ghcr.io/k8sgpt-ai/k8sgpt
version: v0.3.41
EOF
ติดตั้งผู้ให้บริการจากส่วนการติดตั้ง
เมื่อทำงานบน AWS คุณมีหลายวิธีในการให้สิทธิ์กับภาระงาน K8SGPT ที่ได้รับการจัดการเพื่อเข้าถึง AMAMON BETROCK
ในการให้การเข้าถึงข้อเท็จจริงโดยใช้บัญชีบริการ Kubernetes ให้สร้างบทบาท IAM ด้วยการอนุญาตให้มีข้อเท็จจริง นโยบายตัวอย่างรวมอยู่ด้านล่าง:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": "*"
}
]
}
เพื่อให้การเข้าถึงข้อเท็จจริงโดยใช้ข้อมูลรับรอง AWS ในความลับของ Kubernetes คุณสามารถสร้างความลับ:
kubectl create secret generic bedrock-sample-secret --from-literal=AWS_ACCESS_KEY_ID= " $( echo $AWS_ACCESS_KEY_ID ) " --from-literal=AWS_SECRET_ACCESS_KEY= " $( echo $AWS_SECRET_ACCESS_KEY ) " -n k8sgpt-operator-system kubectl apply -f - << EOF
apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
name: k8sgpt-sample
namespace: k8sgpt-operator-system
spec:
ai:
enabled: true
secret:
name: bedrock-sample-secret
model: anthropic.claude-v2
region: eu-central-1
backend: amazonbedrock
noCache: false
repository: ghcr.io/k8sgpt-ai/k8sgpt
version: v0.3.41
EOF
ติดตั้งผู้ให้บริการจากส่วนการติดตั้ง
ทำตามคู่มือการติดตั้ง localai เพื่อติดตั้ง localai ( ไม่จำเป็นต้องใช้ความลับ OpenAI เมื่อใช้ LocalAI )
ใช้วัตถุการกำหนดค่า K8SGPT:
kubectl apply -f - << EOF
apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
name: k8sgpt-local-ai
namespace: default
spec:
ai:
enabled: true
model: ggml-gpt4all-j
backend: localai
baseUrl: http://local-ai.local-ai.svc.cluster.local:8080/v1
noCache: false
repository: ghcr.io/k8sgpt-ai/k8sgpt
version: v0.3.41
EOF หมายเหตุ: ตรวจสอบให้แน่ใจว่าค่าของ baseUrl เป็นชื่อ DNS ที่สร้างขึ้นอย่างเหมาะสมสำหรับบริการ LocalAI ควรใช้แบบฟอร์ม: http://local-ai.<namespace_local_ai_was_installed_in>.svc.cluster.local:8080/v1
kubectl apply -f - << EOF
apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
name: k8sgpt-sample
namespace: k8sgpt-operator-system
spec:
ai:
enabled: true
model: gpt-3.5-turbo
backend: openai
secret:
name: k8sgpt-sample-secret
key: openai-api-key
noCache: false
repository: sample.repository/k8sgpt
version: sample-tag
imagePullSecrets:
- name: sample-secret
EOF พารามิเตอร์เสริมพร้อมใช้งานสำหรับอ่างล้างจาน
('type', 'webhook' เป็นพารามิเตอร์ที่จำเป็น)
| เครื่องมือ | ช่อง | icon_url | ชื่อผู้ใช้ |
|---|---|---|---|
| หย่อน | |||
| มากที่สุด |
สำหรับรายละเอียดโปรดดูที่นี่