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 run
hibá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ássalkubectl 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 container
napló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/1
a 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-controller
akkor 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 9090
kö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 bookbuyer
szé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 bookbuyer
cí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
- További információ a fürtbővítményekről.
- Az Arc-kompatibilis Kubernetes-fürtök általános hibaelhárítási tippjeinek megtekintése.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: