Známé problémy: Azure IoT Operations Preview
Důležité
Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.
Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.
Tento článek obsahuje seznam známých problémů se službou Azure IoT Operations Preview.
Problémy s nasazením a odinstalací
Interaktivní přihlášení
az login
k Azure CLI musíte použít při nasazování operací Azure IoT. Pokud ne, může se zobrazit chyba, například CHYBA: AADSTS530003: Pro přístup k tomuto prostředku se vyžaduje správa vašeho zařízení.Pokud vaše nasazení selže s chybou
"code":"LinkedAuthorizationFailed"
, znamená to, že nemáte oprávnění Microsoft.Authorization/roleAssignments/write ve skupině prostředků, která obsahuje váš cluster.Pokud chcete tento problém vyřešit, požádejte o požadovaná oprávnění nebo proveďte následující úpravy kroků nasazení:
- Pokud se nasazuje pomocí šablony Azure Resource Manageru, nastavte
deployResourceSyncRules
parametr nafalse
. - Pokud nasazujete pomocí Azure CLI, zahrňte
--disable-rsync-rules
příznak příkazu az iot ops init .
- Pokud se nasazuje pomocí šablony Azure Resource Manageru, nastavte
Odinstalace K3s: Při odinstalaci k3s v Ubuntu pomocí
/usr/local/bin/k3s-uninstall.sh
skriptu může dojít k problému, kdy se skript zasekne při odpojování podu NFS. Alternativním řešením tohoto problému je spuštění následujícího příkazu před spuštěním skriptu odinstalace:sudo systemctl stop k3s
.
Azure IoT MQ Preview
K výchozímu nasazení můžete přistupovat pouze pomocí IP adresy clusteru, protokolu TLS a tokenu účtu služby. Klienti mimo cluster potřebují před připojením další konfiguraci.
Po počátečním nasazení nemůžete aktualizovat vlastní prostředek zprostředkovatele. Nemůžete provádět změny konfigurace kardinality, profilu paměti nebo vyrovnávací paměti.
Velikost vyrovnávací paměti založené na disku nemůžete nakonfigurovat, pokud ji vybraná třída úložiště nepodporuje.
I když diagnostická služba IoT MQ vytváří telemetrii podle vlastního tématu, při přihlášení k
#
odběru tématu stále můžete dostávat zprávy z vlastního testu.Některé clustery, které mají pomalé volání rozhraní API Kubernetes, můžou způsobit selhání příkazu ping selftest:
Status {Failed}. Probe failed: Ping: 1/2
spuštěníaz iot ops check
příkazu.V protokolech událostí KafkaConnector StatefulSet může dojít k chybě, například
Invalid value: "mq-to-eventhub-connector-<token>--connectionstring": must be no more than 63 characters
. Ujistěte se, že název vašeho kafkaConnectoru má maximálně 5 znaků.V protokolech konektoru Kafka a konektoru Event Gridu může dojít k chybám časového limitu. Navzdory tomu bude konektor dál fungovat a předávat zprávy.
Azure IoT Layered Network Management Preview
Pokud služba Správa vrstvené sítě při spouštění K3S na hostiteli Ubuntu nezíská IP adresu, pomocí této možnosti přeinstalujte K3S bez kontroleru
--disable=traefik
příchozího přenosu dat trafeik.curl -sfL https://get.k3s.io | sh -s - --disable=traefik --write-kubeconfig-mode 644
Další informace naleznete v tématu Sítě | K3s.
Pokud se dotazy DNS nepřeloží na očekávanou IP adresu při používání služby CoreDNS spuštěné na úrovni podřízené sítě, upgradujte na Ubuntu 22.04 a znovu nainstalujte K3S.
Azure IoT OPC UA Broker Preview
Všechny
AssetEndpointProfiles
v clusteru musí být nakonfigurované se stejným ověřovacím certifikátem přenosu, jinak může zprostředkovatel OPC UA vykazovat náhodné chování. Pokud se chcete tomuto problému vyhnout při použití ověřování přenosu, nakonfigurujte všechny koncové body prostředků se stejným kryptografickým otiskem pro ověřovací certifikát přenosu na portálu Azure IoT Operations (Preview).Pokud nasadíte do
AssetEndpointProfile
clusteru a zprostředkovatel OPC UA se nemůže připojit k nakonfigurovaným koncovým bodům při prvním pokusu, zprostředkovatel OPC UA se nikdy nebude pokoušet připojit.Jako alternativní řešení nejprve opravte problém s připojením. Pak buď restartujte všechny pody v clusteru s názvy podů, které začínají na "aio-opc-opc.tcp", nebo odstraňte a nasaďte
AssetEndpointProfile
ho znovu.
Simulátor OPC PLC
Pokud vytvoříte koncový bod prostředku pro simulátor OPC PLC, ale simulátor OPC PLC neodesílá data do zprostředkovatele IoT MQ, spuštěním následujícího příkazu nastavte autoAcceptUntrustedServerCertificates=true
koncový bod prostředku:
ENDPOINT_NAME=<name-of-you-endpoint-here>
kubectl patch AssetEndpointProfile $ENDPOINT_NAME \
-n azure-iot-operations \
--type=merge \
-p '{"spec":{"additionalConfiguration":"{\"applicationName\":\"'"$ENDPOINT_NAME"'\",\"security\":{\"autoAcceptUntrustedServerCertificates\":true}}"}}'
Upozornění
Tuto konfiguraci nepoužívejte v produkčním nebo předprodukčním prostředí. Zveřejnění clusteru na internet bez správného ověřování může vést k neoprávněnému přístupu a dokonce útokům DDOS.
Všechny koncové body prostředku můžete opravit pomocí následujícího příkazu:
ENDPOINTS=$(kubectl get AssetEndpointProfile -n azure-iot-operations --no-headers -o custom-columns=":metadata.name")
for ENDPOINT_NAME in `echo "$ENDPOINTS"`; do \
kubectl patch AssetEndpointProfile $ENDPOINT_NAME \
-n azure-iot-operations \
--type=merge \
-p '{"spec":{"additionalConfiguration":"{\"applicationName\":\"'"$ENDPOINT_NAME"'\",\"security\":{\"autoAcceptUntrustedServerCertificates\":true}}"}}'; \
done
Pokud simulátor OPC PLC po vytvoření nového prostředku neodesílá data do zprostředkovatele IoT MQ, restartujte pod simulátorU OPC PLC. Název podu vypadá nějak aio-opc-opc.tcp-1-f95d76c54-w9v9c
takto. Pokud chcete pod restartovat, ukončete ho pomocí k9s
nástroje nebo spusťte následující příkaz:
kubectl delete pod aio-opc-opc.tcp-1-f95d76c54-w9v9c -n azure-iot-operations
Azure IoT Data Processor Preview
Pokud u podů zpracovatele dat dojde k chybám nasazení, ujistěte se, že při vytváření služby Azure Key Vault jste jako model oprávnění zvolili zásady přístupu k trezoru.
Pokud se rozšíření zpracovatele dat neodinstaluje, spusťte následující příkazy a zkuste operaci odinstalace zopakovat:
kubectl delete pod aio-dp-reader-worker-0 --grace-period=0 --force -n azure-iot-operations kubectl delete pod aio-dp-runner-worker-0 --grace-period=0 --force -n azure-iot-operations
Pokud u zpráv nejsou použity úpravy, které provedete v kanálu, spusťte následující příkazy, které tyto změny rozšíří:
kubectl rollout restart deployment aio-dp-operator -n azure-iot-operations kubectl rollout restart statefulset aio-dp-runner-worker -n azure-iot-operations kubectl rollout restart statefulset aio-dp-reader-worker -n azure-iot-operations
Je možné, že momentální ztráta komunikace s pody zprostředkovatele IoT MQ může pozastavit zpracování datových kanálů. Může se také zobrazit chyba, například
service account token expired
. Pokud si všimnete, že k tomu dochází, spusťte následující příkazy:kubectl rollout restart statefulset aio-dp-runner-worker -n azure-iot-operations kubectl rollout restart statefulset aio-dp-reader-worker -n azure-iot-operations
Pokud jsou data poškozená v tabulce Microsoft Fabric Lakehouse, do které váš kanál zpracovatele dat zapisuje, ujistěte se, že do tabulky nezapisují žádné jiné procesy. Pokud zapíšete do tabulky Microsoft Fabric Lakehouse z více zdrojů, může se v tabulce zobrazit poškozená data.
Azure IoT Akri Preview
Sporadický problém může způsobit restartování podu aio-opc-asset-discovery
s následující chybou v protokolech: opcua@311 exception="System.IO.IOException: Failed to bind to address http://unix:/var/lib/akri/opcua-asset.sock: address already in use.
.
Chcete-li tento problém vyřešit, pomocí následujících kroků aktualizujte specifikaci daemonSet :
Vyhledejte cílový vlastní prostředek poskytnutý
orchestration.iotoperations.azure.com
názvem, který má na konci-ops-init-target
:kubectl get targets -n azure-iot-operations
Upravte cílovou konfiguraci a najděte
spec.components.aio-opc-asset-discovery.properties.resource.spec.template.spec.containers.env
parametr. Příklad:kubectl edit target solid-zebra-97r6jr7rw43vqv-ops-init-target -n azure-iot-operations
Do části konfigurace přidejte následující proměnné
spec.components.aio-opc-asset-discovery.properties.resource.spec.template.spec.containers.env
prostředí:- name: ASPNETCORE_URLS value: http://+8443 - name: POD_IP valueFrom: fieldRef: fieldPath: "status.podIP"
Uložte provedené změny. Konečná specifikace vypadá jako v následujícím příkladu:
apiVersion: orchestrator.iotoperations.azure.com/v1 kind: Target metadata: name: <cluster-name>-target namespace: azure-iot-operations spec: displayName: <cluster-name>-target scope: azure-iot-operations topologies: ... version: 1.0.0.0 components: ... - name: aio-opc-asset-discovery type: yaml.k8s properties: resource: apiVersion: apps/v1 kind: DaemonSet metadata: labels: app.kubernetes.io/part-of: aio name: aio-opc-asset-discovery spec: selector: matchLabels: name: aio-opc-asset-discovery template: metadata: labels: app.kubernetes.io/part-of: aio name: aio-opc-asset-discovery spec: containers: - env: - name: ASPNETCORE_URLS value: http://+8443 - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP - name: DISCOVERY_HANDLERS_DIRECTORY value: /var/lib/akri - name: AKRI_AGENT_REGISTRATION value: 'true' image: >- edgeappmodel.azurecr.io/opcuabroker/discovery-handler:0.4.0-preview.3 imagePullPolicy: Always name: aio-opc-asset-discovery ports: ... resources: ... volumeMounts: ... volumes: ...
Portál Azure IoT Operations Preview
Pokud se chcete přihlásit k portálu Azure IoT Operations Portal, potřebujete účet ID Microsoft Entra s alespoň oprávněními přispěvatele pro skupinu prostředků, která obsahuje vaši instanci Kubernetes – Azure Arc . Nemůžete se přihlásit pomocí účtu Microsoft (MSA). Vytvoření účtu v tenantovi Azure:
- Přihlaste se k webu Azure Portal pomocí stejného tenanta a uživatelského jména, které jste použili k nasazení operací Azure IoT.
- Na webu Azure Portal přejděte do části Microsoft Entra ID a vyberte Uživatelé > + Nový uživatel Vytvořit nového uživatele>. Vytvořte nového uživatele a poznamenejte si heslo, budete ho potřebovat k pozdějšímu přihlášení.
- Na webu Azure Portal přejděte do skupiny prostředků, která obsahuje vaši instanci Kubernetes – Azure Arc . Na stránce Řízení přístupu (IAM) vyberte +Přidat > přiřazení role.
- Na stránce Přidat přiřazení role vyberte role privilegovaného správce. Pak vyberte Přispěvatel a pak vyberte Další.
- Na stránce Členové přidejte nového uživatele do role.
- Výběrem možnosti Zkontrolovat a přiřadit dokončete nastavení nového uživatele.
Teď se můžete pomocí nového uživatelského účtu přihlásit k portálu Azure IoT Operations Portal.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro