Megosztás a következőn keresztül:


Az Azure Arc-kompatibilis Kubernetes-fürtök bővítményproblémáinak elhárítása

Ez a dokumentum hibaelhárítási tippeket nyújt a fürtbővítményekkel kapcsolatos gyakori problémákhoz, például a GitOpshoz (Flux v2) és az Open Service Meshhez.

Ha segítségre van szüksége az Azure Arc-kompatibilis Kubernetes általános problémáinak elhárításához, tekintse meg az Azure Arc-kompatibilis Kubernetes-problémák hibaelhárítását.

GitOps (Flux v2)

Feljegyzés

A Flux v2-bővítmény az Azure Arc-kompatibilis Kubernetes-fürtökben vagy az Azure Kubernetes Service-fürtökben (AKS) használható. Ezek a hibaelhárítási tippek általában fürttípustól függetlenül érvényesek.

Az erőforrásokkal kapcsolatos problémák elhárításához fluxConfigurations az alábbi Azure CLI-parancsokat futtassa a --debug megadott paraméterrel:

az provider show -n Microsoft.KubernetesConfiguration --debug
az k8s-configuration flux create <parameters> --debug

Webhook/száraz futtatási hibák

Ha azt látja, hogy a Flux nem tud összeegyeztetni egy hasonló dry-run failed, error: admission webhook "<webhook>" does not support dry runhibával, a probléma megoldásához keresse meg vagy ValidatingWebhookConfiguration állítsa be a MutatingWebhookConfiguration sideEffects következőt None NoneOnDryRun:

További információ: Hogyan hibák elhárításawebhook does not support dry run?

A bővítmény telepítésével microsoft.flux kapcsolatos hibák

A microsoft.flux bővítmény telepíti a Flux-vezérlőket és az Azure GitOps-ügynököket az Azure Arc-kompatibilis Kubernetes- vagy Azure Kubernetes Service-fürtökbe. Ha a bővítmény még nincs telepítve egy fürtben, és létrehoz egy GitOps-konfigurációs erőforrást a fürthöz, a bővítmény automatikusan települ.

Ha a telepítés során hibát tapasztal, vagy ha a bővítmény sikertelen állapotban van, győződjön meg arról, hogy a fürt nem rendelkezik olyan szabályzatokkal, amelyek korlátozzák a névtér vagy erőforrások létrehozását a flux-system névtérben.

AKS-fürtök esetében győződjön meg arról, hogy az előfizetésben engedélyezve van a Microsoft.ContainerService/AKS-ExtensionManager funkciójelző.

az feature register --namespace Microsoft.ContainerService --name AKS-ExtensionManager

Ezután futtassa ezt a parancsot annak megállapításához, hogy vannak-e más problémák. Állítsa a fürttípus (-t) paramétert connectedClusters Arc-kompatibilis fürtre vagy managedClusters AKS-fürtre. A bővítmény neve microsoft.flux "fluxus", ha a bővítmény automatikusan telepítve lett a GitOps-konfiguráció létrehozása során. További információért nyissa meg a statuses objektumot.

az k8s-extension show -g <RESOURCE_GROUP> -c <CLUSTER_NAME> -n flux -t <connectedClusters or managedClusters>

A megjelenített eredmények segíthetnek meghatározni, hogy mi a hiba, és hogyan lehet kijavítani. A lehetséges szervizelési műveletek a következők:

  • A bővítmény törlésének kényszerítése a futtatással az k8s-extension delete --force -g <RESOURCE_GROUP> -c <CLUSTER_NAME> -n flux -t <managedClusters OR connectedClusters>
  • Távolítsa el a Helm-kiadást a futtatással helm uninstall flux -n flux-system
  • A névtér törlése a flux-system fürtből a futtatással kubectl delete namespaces flux-system

Ezután létrehozhat egy fluxuskonfigurációt, amely automatikusan telepíti a microsoft.flux bővítményt, vagy manuálisan újratelepítheti a fluxus-bővítményt.

Hibák a bővítmény fürtben való telepítésekor, ha engedélyezve van a microsoft.flux Microsoft Entra Pod Identity

Ha megpróbálja telepíteni a Flux bővítményt egy olyan fürtben, amelyben engedélyezve van a Microsoft Entra Pod Identity, hiba léphet fel a bővítmény-ügynök podban:

{"Message":"2021/12/02 10:24:56 Error: in getting auth header : error {adal: Refresh request failed. Status Code = '404'. Response body: no azure identity found for request clientID <REDACTED>\n}","LogType":"ConfigAgentTrace","LogLevel":"Information","Environment":"prod","Role":"ClusterConfigAgent","Location":"westeurope","ArmId":"/subscriptions/<REDACTED>/resourceGroups/<REDACTED>/providers/Microsoft.Kubernetes/managedclusters/<REDACTED>","CorrelationId":"","AgentName":"FluxConfigAgent","AgentVersion":"0.4.2","AgentTimestamp":"2021/12/02 10:24:56"}

A bővítmény állapota a következőképpen is visszaáll Failed: .

"{\"status\":\"Failed\",\"error\":{\"code\":\"ResourceOperationFailure\",\"message\":\"The resource operation completed with terminal provisioning state 'Failed'.\",\"details\":[{\"code\":\"ExtensionCreationFailed\",\"message\":\" error: Unable to get the status from the local CRD with the error : {Error : Retry for given duration didn't get any results with err {status not populated}}\"}]}}",

Ebben az esetben a bővítményügynök pod megpróbálja lekérni a jogkivonatát a fürt IMDS-éből. de a jogkivonat-kérést a pod identitása elfogja). A probléma megoldásához frissítsen a bővítmény legújabb verziójáramicrosoft.flux.

Kubelet-identitással kapcsolatos problémák a microsoft.flux bővítmény AKS-fürtön való telepítésekor

Az AKs-fürtök esetén az egyik hitelesítési lehetőség a felhasználó által hozzárendelt felügyelt identitást használó Kubelet-identitás . A Kubelet-identitás használata csökkentheti a működési terhelést, és növeli a biztonságot az Azure-erőforrásokhoz, például az Azure Container Registryhez való csatlakozáskor.

Ahhoz, hogy a Flux kubelet-identitást használjon, adja hozzá a paramétert --config useKubeletIdentity=true a Flux-bővítmény telepítésekor.

az k8s-extension create --resource-group <resource-group> --cluster-name <cluster-name> --cluster-type managedClusters --name flux --extension-type microsoft.flux --config useKubeletIdentity=true

A bővítménytelepítés memória- és CPU-követelményeinek microsoft.flux biztosítása

A Kubernetes-fürtben a bővítményrel microsoft.flux telepített vezérlőknek cpu- és memóriaerőforrásokra van szükségük a Kubernetes-fürtcsomópontok megfelelő ütemezéséhez. Győződjön meg arról, hogy a fürt képes megfelelni a kért minimális memória- és CPU-erőforrásoknak. Vegye figyelembe az itt látható lehetséges cpu- és memóriaerőforrás-követelmények maximális korlátait is.

Tároló neve Minimális processzorhasználat Minimális memória Maximális processzorhasználat Maximális memória
fluxconfig-agent 5 m 30 Mi 50 m 150 Mi
fluxconfig-controller 5 m 30 Mi 100 m 150 Mi
fluent-bit 5 m 30 Mi 20 m 150 Mi
helm-controller 100 m 64 Mi 1000 m 1 Gi
forrásvezérlő 50 m 64 Mi 1000 m 1 Gi
kustomize-controller 100 m 64 Mi 1000 m 1 Gi
értesítés-vezérlő 100 m 64 Mi 1000 m 1 Gi
image-automation-controller 100 m 64 Mi 1000 m 1 Gi
képvisszaverő-vezérlő 100 m 64 Mi 1000 m 1 Gi

Ha olyan egyéni vagy beépített Azure Gatekeeper-szabályzatot engedélyezett, amely korlátozza a Kubernetes-fürtök tárolóinak erőforrásait, például Kubernetes cluster containers CPU and memory resource limits should not exceed the specified limits, győződjön meg arról, hogy a szabályzat erőforráskorlátjai nagyobbak az itt látható korlátoknál, vagy hogy a flux-system névtér a excludedNamespaces szabályzat-hozzárendelés paraméterének része.

Flux v1

Feljegyzés

Javasoljuk , hogy mihamarabb migráljon a Flux v2-re . A 2024. január 1. előtt létrehozott Flux v1-alapú fürtkonfigurációs erőforrások támogatása 2025. május 24-én megszűnik. 2024. január 1-től kezdődően nem hozhat létre új Flux v1-alapú fürtkonfigurációs erőforrásokat.

A Flux v1-ben az sourceControlConfigurations erőforrással kapcsolatos problémák elhárításához futtassa az alábbi Azure CLI-parancsokat a megadott paraméterrel --debug :

az provider show -n Microsoft.KubernetesConfiguration --debug
az k8s-configuration create <parameters> --debug

Azure Monitor Container Insights

Ez a szakasz segítséget nyújt az Azure Monitor Container Insights Azure Arc-kompatibilis Kubernetes-fürtökkel kapcsolatos problémáinak elhárításához.

Jogosultsági mód engedélyezése a Canonical Charmed Kubernetes-fürthöz

Az Azure Monitor Container Insights megköveteli, hogy a DaemonSet kiemelt módban fusson. A Canonical Charmed Kubernetes-fürt monitorozáshoz való sikeres beállításához futtassa a következő parancsot:

juju config kubernetes-worker allow-privileged=true

Az Azure Monitor Agent (AMA) nem telepíthető Oracle Linux 9.x rendszeren

Az Azure Monitor Agent (AMA) Oracle Linux (RHEL) 9.x Kubernetes-fürtön való telepítésekor előfordulhat, hogy az AMA-podok és az AMA-RS pod nem működik megfelelően a addon-token-adapter pod tárolója miatt. Ezzel a hibával a pod addon-token-adapter containernaplóinak ellenőrzésekor az ama-logs-rs alábbihoz hasonló kimenet jelenik meg:

Command: kubectl -n kube-system logs ama-logs-rs-xxxxxxxxxx-xxxxx -c addon-token-adapter
 
Error displayed: error modifying iptable rules: error adding rules to custom chain: running [/sbin/iptables -t nat -N aad-metadata --wait]: exit status 3: modprobe: can't change directory to '/lib/modules': No such file or directory

iptables v1.8.9 (legacy): can't initialize iptables table `nat': Table does not exist (do you need to insmod?)

Perhaps iptables or your kernel needs to be upgraded.

Ez a hiba azért fordul elő, mert a bővítmény telepítéséhez szükséges a iptable_nat modul, de ez a modul nem töltődik be automatikusan az Oracle Linux (RHEL) 9.x disztribúcióiba.

A probléma megoldásához explicit módon be kell töltenie a iptables_nat modult a fürt minden csomópontjára a modprobe parancs használatával sudo modprobe iptables_nat. Miután bejelentkezett az egyes csomópontokba, és manuálisan hozzáadta a iptable_nat modult, próbálkozzon újra az AMA telepítésével.

Feljegyzés

A lépés végrehajtása nem teszi állandóvá a modult iptables_nat .

Azure Arc-kompatibilis Open Service Mesh

Ez a szakasz olyan parancsokat tartalmaz, amelyekkel ellenőrizheti és elháríthatja az Open Service Mesh (OSM) bővítményösszetevők üzembe helyezését a fürtön.

Az OSM-vezérlő üzembe helyezésének ellenőrzése

kubectl get deployment -n arc-osm-system --selector app=osm-controller

Ha az OSM-vezérlő kifogástalan állapotú, a következőhöz hasonló kimenet jelenik meg:

NAME             READY   UP-TO-DATE   AVAILABLE   AGE
osm-controller   1/1     1            1           59m

OSM-vezérlő podok ellenőrzése

kubectl get pods -n arc-osm-system --selector app=osm-controller

Ha az OSM-vezérlő kifogástalan állapotú, a következőhöz hasonló kimenet jelenik meg:

NAME                            READY   STATUS    RESTARTS   AGE
osm-controller-b5bd66db-wglzl   0/1     Evicted   0          61m
osm-controller-b5bd66db-wvl9w   1/1     Running   0          31m

Annak ellenére, hogy az egyik vezérlőt egy ponton kiürítette , van egy másik, amely READY 1/1 Running 0 újraindul. Ha az oszlop READY nem más, mint 1/1a szolgáltatásháló hibás állapotban van. 0/1 A vezérlősík tárolójának összeomlását jelző oszlopREADY.

A vezérlőnaplók vizsgálatához használja a következő parancsot:

kubectl logs -n arc-osm-system -l app=osm-controller

Az oszlopban READY a szám nagyobb, mint 1 az után, / ami azt jelzi, hogy vannak oldalkocsik telepítve. Az OSM-vezérlő általában nem működik megfelelően az oldalkocsik csatlakoztatásával.

OSM-vezérlő szolgáltatás ellenőrzése

kubectl get service -n arc-osm-system osm-controller

Ha az OSM-vezérlő kifogástalan állapotú, a következő kimenet jelenik meg:

NAME             TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)              AGE
osm-controller   ClusterIP   10.0.31.254   <none>        15128/TCP,9092/TCP   67m

Feljegyzés

A CLUSTER-IP másik lesz. A szolgáltatásnak NAME PORT(S) meg kell egyeznie az itt láthatóval.

OSM-vezérlővégpontok ellenőrzése

kubectl get endpoints -n arc-osm-system osm-controller

Ha az OSM-vezérlő kifogástalan állapotú, a következőhöz hasonló kimenet jelenik meg:

NAME             ENDPOINTS                              AGE
osm-controller   10.240.1.115:9092,10.240.1.115:15128   69m

Ha a fürt nem ENDPOINTS , osm-controllerakkor a vezérlősík nem megfelelő. Ez a nem megfelelő állapot azt jelenti, hogy a vezérlő pod összeomlott, vagy hogy soha nem lett megfelelően üzembe helyezve.

OSM-injektor üzembe helyezésének ellenőrzése

kubectl get deployments -n arc-osm-system osm-injector

Ha az OSM injektor állapota kifogástalan, a kimenet a következőhöz hasonló:

NAME           READY   UP-TO-DATE   AVAILABLE   AGE
osm-injector   1/1     1            1           73m

OSM injektor pod ellenőrzése

kubectl get pod -n arc-osm-system --selector app=osm-injector

Ha az OSM injektor állapota kifogástalan, a kimenet a következőhöz hasonló:

NAME                            READY   STATUS    RESTARTS   AGE
osm-injector-5986c57765-vlsdk   1/1     Running   0          73m

Az READY oszlopnak meg kell lennie 1/1. Bármely más érték nem kifogástalan OSM injektor podot jelez.

OSM injektorszolgáltatás ellenőrzése

kubectl get service -n arc-osm-system osm-injector

Ha az OSM injektor állapota kifogástalan, a kimenet a következőhöz hasonló:

NAME           TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
osm-injector   ClusterIP   10.0.39.54   <none>        9090/TCP   75m

Győződjön meg arról, hogy a szolgáltatás ip-címe osm-injector a 9090következő: . Nem lehet EXTERNAL-IP.

OSM-injektorvégpontok ellenőrzése

kubectl get endpoints -n arc-osm-system osm-injector

Ha az OSM injektor állapota kifogástalan, a kimenet a következőhöz hasonló:

NAME           ENDPOINTS           AGE
osm-injector   10.240.1.172:9090   75m

Ahhoz, hogy az OSM működjön, legalább egy végpontnak kell lennie.osm-injector Az OSM-injektorvégpontok IP-címe eltérő lesz, de a portnak 9090 azonosnak kell lennie.

Webhookok ellenőrzése és ellenőrzése

kubectl get ValidatingWebhookConfiguration --selector app=osm-controller

Ha a Validating webhook kifogástalan állapotú, a következőhöz hasonló kimenet jelenik meg:

NAME                     WEBHOOKS   AGE
osm-validator-mesh-osm   1          81m
kubectl get MutatingWebhookConfiguration --selector app=osm-injector

Ha a mutációs webhook állapota kifogástalan, a következőhöz hasonló kimenet jelenik meg:

NAME                  WEBHOOKS   AGE
arc-osm-webhook-osm   1          102m

A következő paranccsal ellenőrizze a hitelesítésszolgáltató webhook szolgáltatását és ca-csomagját:

kubectl get ValidatingWebhookConfiguration osm-validator-mesh-osm -o json | jq '.webhooks[0].clientConfig.service'

A jól konfigurált érvényesítési webhook-konfiguráció kimenete a következőhöz hasonló lesz:

{
  "name": "osm-config-validator",
  "namespace": "arc-osm-system",
  "path": "/validate",
  "port": 9093
}

Az alábbi paranccsal ellenőrizze a mutált webhook szolgáltatását és ca-csomagját:

kubectl get MutatingWebhookConfiguration arc-osm-webhook-osm -o json | jq '.webhooks[0].clientConfig.service'

A jól konfigurált mutációs webhook-konfiguráció kimenete a következőhöz hasonló lesz:

{
  "name": "osm-injector",
  "namespace": "arc-osm-system",
  "path": "/mutate-pod-creation",
  "port": 9090
}

Az alábbi paranccsal ellenőrizze, hogy az OSM-vezérlő adott-e hitelesítésszolgáltatói csomagot a hitelesítésszolgáltatói csomag érvényesítéséhez (vagy mutációjához):

kubectl get ValidatingWebhookConfiguration osm-validator-mesh-osm -o json | jq -r '.webhooks[0].clientConfig.caBundle' | wc -c
kubectl get MutatingWebhookConfiguration arc-osm-webhook-osm -o json | jq -r '.webhooks[0].clientConfig.caBundle' | wc -c

Példa a kimenetre:

1845

A kimenetben szereplő szám a bájtok számát vagy a CA-csomag méretét jelzi. Ha a kimenet üres, 0 vagy 1000 alatti szám, a CA-csomag nincs megfelelően kiépítve. A megfelelő CA-csomag nélkül a ValidatingWebhook hiba jelenik meg.

Az osm-mesh-config erőforrás ellenőrzése

Ellenőrizze az erőforrás meglétét:

kubectl get meshconfig osm-mesh-config -n arc-osm-system

Ellenőrizze az OSM MeshConfig tartalmát:

kubectl get meshconfig osm-mesh-config -n arc-osm-system -o yaml

A következőhöz hasonló kimenetnek kell megjelennie:

apiVersion: config.openservicemesh.io/v1alpha1
kind: MeshConfig
metadata:
  creationTimestamp: "0000-00-00A00:00:00A"
  generation: 1
  name: osm-mesh-config
  namespace: arc-osm-system
  resourceVersion: "2494"
  uid: 6c4d67f3-c241-4aeb-bf4f-b029b08faa31
spec:
  certificate:
    certKeyBitSize: 2048
    serviceCertValidityDuration: 24h
  featureFlags:
    enableAsyncProxyServiceMapping: false
    enableEgressPolicy: true
    enableEnvoyActiveHealthChecks: false
    enableIngressBackendPolicy: true
    enableMulticlusterMode: false
    enableRetryPolicy: false
    enableSnapshotCacheMode: false
    enableWASMStats: true
  observability:
    enableDebugServer: false
    osmLogLevel: info
    tracing:
      enable: false
  sidecar:
    configResyncInterval: 0s
    enablePrivilegedInitContainer: false
    logLevel: error
    resources: {}
  traffic:
    enableEgress: false
    enablePermissiveTrafficPolicyMode: true
    inboundExternalAuthorization:
      enable: false
      failureModeAllow: false
      statPrefix: inboundExtAuthz
      timeout: 1s
    inboundPortExclusionList: []
    outboundIPRangeExclusionList: []
    outboundPortExclusionList: []
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

osm-mesh-config erőforrásértékek:

Kulcs Típus Alapértelmezett érték Példák a Kubectl-javítás parancsára
spec.traffic.enableEgress logikai false kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enableEgress":false}}}' --type=merge
spec.traffic.enablePermissiveTrafficPolicyMode logikai true kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enablePermissiveTrafficPolicyMode":true}}}' --type=merge
spec.traffic.outboundPortExclusionList array [] kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"outboundPortExclusionList":[6379,8080]}}}' --type=merge
spec.traffic.outboundIPRangeExclusionList array [] kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"outboundIPRangeExclusionList":["10.0.0.0/32","1.1.1.1/24"]}}}' --type=merge
spec.traffic.inboundPortExclusionList array [] kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"inboundPortExclusionList":[6379,8080]}}}' --type=merge
spec.certificate.serviceCertValidityDuration húr "24h" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"certificate":{"serviceCertValidityDuration":"24h"}}}' --type=merge
spec.observability.enableDebugServer logikai false kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"observability":{"enableDebugServer":false}}}' --type=merge
spec.observability.osmLogLevel húr "info" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"observability":{"tracing":{"osmLogLevel": "info"}}}}' --type=merge
spec.observability.tracing.enable logikai false kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"observability":{"tracing":{"enable":true}}}}' --type=merge
spec.sidecar.enablePrivilegedInitContainer logikai false kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"sidecar":{"enablePrivilegedInitContainer":true}}}' --type=merge
spec.sidecar.logLevel húr "error" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"sidecar":{"logLevel":"error"}}}' --type=merge
spec.featureFlags.enableWASMStats logikai "true" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableWASMStats":"true"}}}' --type=merge
spec.featureFlags.enableEgressPolicy logikai "true" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableEgressPolicy":"true"}}}' --type=merge
spec.featureFlags.enableMulticlusterMode logikai "false" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableMulticlusterMode":"false"}}}' --type=merge
spec.featureFlags.enableSnapshotCacheMode logikai "false" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableSnapshotCacheMode":"false"}}}' --type=merge
spec.featureFlags.enableAsyncProxyServiceMapping logikai "false" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableAsyncProxyServiceMapping":"false"}}}' --type=merge
spec.featureFlags.enableIngressBackendPolicy logikai "true" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableIngressBackendPolicy":"true"}}}' --type=merge
spec.featureFlags.enableEnvoyActiveHealthChecks logikai "false" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableEnvoyActiveHealthChecks":"false"}}}' --type=merge

Névterek ellenőrzése

Feljegyzés

Az arc-osm-system névtér soha nem fog részt venni egy szolgáltatáshálóban, és soha nem lesz címkézve vagy széljegyzete az itt látható kulccsal/értékekkel.

A osm namespace add parancs használatával egy adott szolgáltatáshálóhoz illesztjük a névtereket. Ha egy Kubernetes-névtér a háló része, kövesse az alábbi lépéseket a követelmények teljesítésének megerősítéséhez.

A névtér bookbuyerszéljegyzeteinek megtekintése:

kubectl get namespace bookbuyer -o json | jq '.metadata.annotations'

A következő széljegyzetnek jelen kell lennie:

{
  "openservicemesh.io/sidecar-injection": "enabled"
}

A névtér bookbuyercímkéinek megtekintése:

kubectl get namespace bookbuyer -o json | jq '.metadata.labels'

A következő címkének kell szerepelnie:

{
  "openservicemesh.io/monitored-by": "osm"
}

Ha nem parancssori felületet használ osm , manuálisan is hozzáadhatja ezeket a széljegyzeteket a névterekhez. Ha egy névtér nincs széljegyzetekkel "openservicemesh.io/sidecar-injection": "enabled"ellátva, vagy nincs megcímkézve "openservicemesh.io/monitored-by": "osm", akkor az OSM-injektor nem ad hozzá envoy oldalkocsikat.

Feljegyzés

A meghívás után osm namespace add csak az új podok lesznek injektálva egy megbízott oldalkocsival. A meglévő podokat újra kell indítani a kubectl rollout restart deployment paranccsal.

Az SMI CRD-k ellenőrzése

Ellenőrizze, hogy a fürt rendelkezik-e a szükséges egyéni erőforrás-definíciókkal (CRD-kkel) az alábbi paranccsal:

kubectl get crds

Győződjön meg arról, hogy a CRD-k megfelelnek a kiadási ágban elérhető verzióknak. Annak ellenőrzéséhez, hogy mely CRD-verziók vannak használatban, látogasson el az SMI által támogatott verziók lapjára , és válassza ki a verziót a Kiadások legördülő listából.

A telepített CRD-k verzióinak lekérése a következő paranccsal:

for x in $(kubectl get crds --no-headers | awk '{print $1}' | grep 'smi-spec.io'); do
    kubectl get crd $x -o json | jq -r '(.metadata.name, "----" , .spec.versions[].name, "\n")'
done

Ha a CRD-k hiányoznak, az alábbi parancsokkal telepítse őket a fürtre. Szükség szerint cserélje le a parancsok verzióját (például az 1.1.0-s verzió a release-v1.1 lenne).

kubectl apply -f https://raw.githubusercontent.com/openservicemesh/osm/release-v1.0/cmd/osm-bootstrap/crds/smi_http_route_group.yaml

kubectl apply -f https://raw.githubusercontent.com/openservicemesh/osm/release-v1.0/cmd/osm-bootstrap/crds/smi_tcp_route.yaml

kubectl apply -f https://raw.githubusercontent.com/openservicemesh/osm/release-v1.0/cmd/osm-bootstrap/crds/smi_traffic_access.yaml

kubectl apply -f https://raw.githubusercontent.com/openservicemesh/osm/release-v1.0/cmd/osm-bootstrap/crds/smi_traffic_split.yaml

A kiadások közötti CRD-változások megtekintéséhez tekintse meg az OSM kibocsátási megjegyzéseit.

Tanúsítványkezelés hibaelhárítása

Az OSM-nek az alkalmazás podokon futó proxykra vonatkozó tanúsítványokkal kapcsolatos problémáiról és kezeléséről az OSM docs webhelyén talál további információt.

Frissítési megbízott

Amikor a bővítmény által figyelt névtérben létrehoz egy új podot, az OSM egy megbízott proxyoldali kocsit injektál a podba. Ha frissíteni kell az envoy verziót, kövesse az OSM docs webhelyén található frissítési útmutató lépéseit.

Következő lépések