Hlaða upp Kubernetes stillingum | B4N1

Hlaða upp Kubernetes stillingum

3 months ago · b4n1 Read time: 4 min

ZeroOps: Framtíð DevOps sjálfvirkni með gervigreindum umboðsmönnum

Kynning

Hugbúnaðarþróunarlandslag er í örri þróun, knúið áfram af aukinni eftirspurn eftir hraðari, skilvirkari og áreiðanlegri afhendingu forrita. DevOps, verklag sem sameinar hugbúnaðarþróun og rekstur, hefur verið lykilatriði í að ná þessu markmiði. Hins vegar, hefðbundnar DevOps nálganir byggjast oft á handvirkum ferlum, forskriftum og sjálfvirkniverkfærum, sem geta verið tímafrekt og villuhættulegt. Þetta er þar sem ZeroOps kemur inn - nýstárleg nálgun sem nýtir gervigreind umboðsmenn til að gera sjálfvirkan DevOps verkefni, sem gerir það að leikbreytingu fyrir nútíma hugbúnaðarþróun. Hvað er ZeroOps?

ZeroOps er byltingarkennd hugtak sem miðar að því að útrýma þörfinni á handvirkum DevOps verkefnum með því að nota gervigreindarforrit. Þessir aðilar læra af umhverfinu, laga sig að breyttum aðstæðum og framkvæma verkefni sjálfstætt, sem losar um mannauð fyrir ákvarðanatöku og stefnumótun á hærra stigi. ZeroOps snýst ekki bara um sjálfvirkni; þetta snýst um að búa til sjálfgræðandi, sjálf-hagræðandi kerfi sem getur lagað sig að síbreytilegu landslagi hugbúnaðarþróunar. Tæknileg útfærsla á AI-knúnum ZeroOps

Tæknileg útfærsla ZeroOps felur í sér nokkra lykilþætti:

  1. AI Agents: Þetta eru hugbúnaðarforrit sem nota vélrænni reiknirit til að læra af umhverfinu og laga sig að breyttum aðstæðum. Hægt er að þjálfa gervigreindarfulltrúa í ýmsum gagnaveitum, þar á meðal annálum, mælingum og stillingarskrám. 2. Þekkingargraf: Þekkingargraf er gagnaskipulag sem sýnir tengslin milli mismunandi eininga, svo sem forrita, þjónustu og innviðahluta. Gervigreindaraðilar nota þekkingargrafið til að rökræða um umhverfið og taka ákvarðanir. 3. Hljómsveitarvél: Hljómsveitarvélin er ábyrg fyrir því að framkvæma ákvarðanir sem gervigreindarfulltrúar taka. Það getur verið gámaskipunartæki eins og Kubernetes eða skýjabyggður vettvangur eins og AWS Lambda. 4. Samþætting við DevOps tól: ZeroOps umboðsmenn geta samþætt við vinsæl DevOps tól, eins og Jenkins, GitLab CI/CD og Docker, til að gera sjálfvirk verkefni og verkflæði. Hagnýt útfærsla: Einfalt dæmi

Við skulum íhuga einfalt dæmi um ZeroOps umboðsmann sem gerir sjálfvirkan dreifingu vefforrits með Docker og Kubernetes. Við munum nota Python sem forritunarmál fyrir þetta dæmi. ``` python flytja inn os innflutningsbryggju frá kubernetes import client, config

config.load_kube_config()

Búðu til Docker viðskiptavin

docker_client = docker.from_env()

Búðu til Kubernetes viðskiptavin

k8s_client = client.ApiClient()

Skilgreindu uppsetningu dreifingar

deployment_config = { "apiVersion": "apps/v1", "kind": "Dreifing", "lýsigögn": { "name": "my-vef-appið" }, "spec": { "eftirmyndir": 3, "selector": { "matchLabels": { "app": "my-vef-appið" } }, "sniðmát": { "lýsigögn": { "merki": { "app": "my-vef-appið" } }, "spec": { "ílát": [ { "name": "my-web-app", "image": "my-web-app: nýjasta" } ] } } } }

Búðu til Kubernetes dreifingu

k8s_client.create_namespaced_deployment(body=deployment_config, namespace="default")

Byggðu og ýttu á Docker myndina

docker_client.images.build(path="/path/to/my-web-app", tag="my-web-app:latest") docker_client.images.push("my-web-app:nýjasta")

Uppfærðu Kubernetes dreifinguna með nýju myndinni

k8s_client.patch_namespaced_deployment(body={"spec": {"template": {"spec": {"containers": [{"name": "my-web-app", "image": "my-web-app:latest"}]}}}}, name="my-web-app", namespace="default")


Þessi kóðabútur sýnir hvernig ZeroOps umboðsmaður getur gert sjálfvirkan dreifingu vefforrits með Docker og Kubernetes. Umboðsmaðurinn notar Kubernetes API til að búa til dreifingu, smíða og ýta Docker mynd og uppfæra dreifinguna með nýju myndinni. **Top 5-10 mest notuðu skipanir/bútar**

Hér eru nokkrar af algengustu skipunum og bútunum fyrir ZeroOps:

1. **`docker build`**: Byggir Docker mynd úr Dockerfile. ``` bash
docker build -t my-web-app . ```
2.

**`Docker push`**: Ýtir Docker mynd í skrásetningu. ``` bash
docker push my-web-app: nýjasta
  1. kubectl create: Býr til Kubernetes tilföng, svo sem dreifingu eða hólf. ``` bash kubectl búa til dreifingu my-web-app --image=my-web-app: nýjasta
4.

**`kubectl patch`**: Uppfærir Kubernetes tilföng, svo sem dreifingu eða hólf. ``` bash
kubectl patch dreifing my-web-app --patch '{"spec":{"template":{"spec":{"containers":[{"name":"my-web-app","image":"my-web-app:nýjasta"}]}}}}'
  1. k8s_client.create_namespaced_deployment: Býr til Kubernetes uppsetningu með því að nota Kubernetes API. ``` python k8s_client.create_namespaced_deployment(body=deployment_config, namespace="default")
6. **`docker_client.images.build`**: Byggir Docker mynd með því að nota Docker API. ``` python
docker_client.images.build(path="/path/to/my-web-app", tag="my-web-app:latest")
  1. docker_client.images.push: Ýtir Docker mynd í skráningu með því að nota Docker API. ``` python docker_client.images.push("my-web-app:nýjasta")
8. **`k8s_client.patch_namespaced_deployment`**: Uppfærir Kubernetes uppsetningu með því að nota Kubernetes API. ``` python
k8s_client.patch_namespaced_deployment(body={"spec": {"template": {"spec": {"containers": [{"name": "my-web-app", "image": "my-web-app:latest"}]}}}}, name="my-web-app", namespace="default")
  1. config.load_kube_config: Hleður Kubernetes stillingum með því að nota Kubernetes API. ``` python config.load_kube_config()
10. **`docker.from_env()`**: Býr til Docker biðlara með því að nota Docker API. ``` python
docker_client = docker.from_env()

Sjónræn

Hér er einfalt súlurit sem sýnir fjölda dreifinga á dag á 30 daga tímabili:

{
  "type": "bar",
  "gögn": {
    "labels": ["Dagur 1", "Dagur 2", "Dagur 3", "Dagur 4", "Dagur 5", "Dagur 6", "Dagur 7", "Dagur 8", "Dagur 9", "Dagur 10", "Dagur 11", "Dagur 12", "Dagur 13", "Dagur 14", "Dagur 14", "Dagur 15", "Dagur 18", "Dagur 19", "Dagur 20", "Dagur 21", "Dagur 22", "Dagur 23", "Dagur 24", "Dagur 25", "Dagur 26", "Dagur 27", "Dagur 28", "Dagur 29", "Dagur 30"],
    "gagnasett": [
      {
        "label": "Dreifingar",
        "gögn": [10, 12, 15, 18, 20, 22, 25, 28, 30, 32, 35, 38, 40, 42, 45, 48, 50, 52, 55, 58, 60, 62, 65, 7, 7, 7, 7, 7, 7, 7, 80, 82]
      }
    ]
  },
  "valkostir": {
    "titill": {
      "skjá": satt,
      "text": "Dreifingar á dag"
    },
    "vog": {
      "yAxes": [
        {
          "skjá": satt,
          "tikkar": {
            "beginAtZero": satt
          }
        }
      ]
    }
  }
}

Þetta graf sýnir stöðuga aukningu á dreifingum á 30 daga tímabili, með hámarki á degi 25. Niðurstaða

ZeroOps er byltingarkennd nálgun við DevOps sjálfvirkni sem nýtir gervigreind umboðsmenn til að gera sjálfvirk verkefni og verkflæði. Með því að nota AI-knúna umboðsmenn geta verktaki einbeitt sér að ákvarðanatöku og stefnumótun á hærra stigi, á meðan umboðsmennirnir sjá um hversdagsleg verkefni. Tæknileg útfærsla ZeroOps felur í sér nokkra lykilþætti, þar á meðal gervigreindaraðila, þekkingargraf, hljómsveitarvélar og samþættingu við DevOps verkfæri. Með hjálp ZeroOps geta verktaki náð hraðari, skilvirkari og áreiðanlegri afhendingu forrita, sem gerir það að nauðsynlegu tæki fyrir nútíma hugbúnaðarþróun.


Have Questions?

Let's Talk

Contact me on LinkedIn