我有一个 kubernetes 集群,有 2 个节点。每个节点有大约 6-7 个 pod,每个 pod 运行 2 个容器。一个容器是我的 docker 镜像,另一个是由 istio 为其服务网格创建的。但大约 10 小时后,节点变为“未准备好”,节点描述向我显示了 2 个错误:1.container runtime is down,PLEG is not healthy: pleg was lastseen active 1h32m35.942907195s ago; 阈值为 3m0s。2.rpc 错误:代码 = DeadlineExceeded desc = 超出上下文期限,无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。docker 守护进程是否正在运行?
当我重新启动节点时,它工作正常,但是一段时间后节点会回到“未就绪”状态。自从加入 istio 后就开始面临这个问题,但找不到任何与两者相关的文档。下一步是尝试升级 kubernetes
节点描述日志:
Name: aks-agentpool-22124581-0
Roles: agent
Labels: agentpool=agentpool
beta.kubernetes.io/arch=amd64
beta.kubernetes.io/instance-type=Standard_B2s
beta.kubernetes.io/os=linux
failure-domain.beta.kubernetes.io/region=eastus
failure-domain.beta.kubernetes.io/zone=1
kubernetes.azure.com/cluster=MC_XXXXXXXXX
kubernetes.io/hostname=aks-XXXXXXXXX
kubernetes.io/role=agent
node-role.kubernetes.io/agent=
storageprofile=managed
storagetier=Premium_LRS
Annotations: aks.microsoft.com/remediated=3
node.alpha.kubernetes.io/ttl=0
volumes.kubernetes.io/controller-managed-attach-detach=true
CreationTimestamp: Thu, 25 Oct 2018 14:46:53 +0000
Taints: <none> …Run Code Online (Sandbox Code Playgroud) 我有一个 v.2 服务总线触发器函数,当我尝试启动时,它抛出以下异常:
System.InvalidOperationException
HResult=0x80131509
Message=The host has not yet started.
Source=Microsoft.Azure.WebJobs.Host
StackTrace:
at Microsoft.Azure.WebJobs.JobHost.StopAsync() in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\JobHost.cs:line 121
at Microsoft.Azure.WebJobs.Hosting.JobHostService.StopAsync(CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Hosting\JobHostService.cs:line 32
at Microsoft.Extensions.Hosting.Internal.Host.<StopAsync>d__10.MoveNext()
Run Code Online (Sandbox Code Playgroud)
我四处搜索,但找不到任何有类似问题(并修复)的人。我正在运行 VS 15.8.7,并更新了所有扩展和包。
这是我的函数的样子:
[FunctionName("ServiceBusListenerFunction")]
public static void Run([ServiceBusTrigger("myTopic", "MySubscription", Connection = "MyConnection")]string mySbMsg, ILogger log)
{
log.LogInformation($"C# ServiceBus topic trigger function processed message: {mySbMsg}");
}
Run Code Online (Sandbox Code Playgroud)
这是我的 local.settings.json:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"MyConnection": "UseDevelopmentStorage=true",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": "UseDevelopmentStorage=true"
},
"Host": {
"LocalHttpPort": 7077
}
}
Run Code Online (Sandbox Code Playgroud)
我还尝试在 launchSettings.json 中执行以下操作,但没有帮助:
{
"profiles": { …Run Code Online (Sandbox Code Playgroud) azure azureservicebus azure-servicebus-queues azure-functions
VM 规模集可用于根据业务需求创建多个 VM,此外,Azure 批处理还可用于在多个 VM 中执行作业。
Azure Batch 和 VM 规模集之间的确切区别是什么?
Azure 支持要求我在这里提出这个问题,但我认为这是一个 AKS 错误。
部署集群时,每个节点“node.status.addresses”都应该按照设计显示节点的 externalip 或主机名,但主机名地址中有一个 VM 名称,而不是 AKS 制作的集群中的虚拟机名称。由于我们需要它们的各种原因,这使得很难知道节点公共 ip。
是否有任何标准或非标准的方式来获取节点公共 ip ?