GZTimeWalker/GZCTF

求助: Docker + K3s 分离部署过程中docker报错, 管理界面无法进入

Utahamo opened this issue · 2 comments

以下是容器log

[24-03-24 06:49:14.190 DBG] Program: GZ::CTF v0.18.2-8cf2913ccf54757142ca2f4d88c7f10c63e33ff4 build at 2024-03-20T17:22:28Z #Pending <System>
[24-03-24 06:49:14.344 DBG] CacheMaker: 缓存更新线程已启动 #Pending <System>
[24-03-24 06:49:14.350 DBG] FlagChecker: 检查线程 #0 已启动 #Pending <System>
[24-03-24 06:49:14.353 DBG] FlagChecker: 检查线程 #1 已启动 #Pending <System>
[24-03-24 06:49:14.533 DBG] FlagChecker: Flag 检查已启用 #Success <System>
[24-03-24 06:49:14.543 DBG] CronJobService: 定时任务已启动 #Success <System>
[24-03-24 06:49:15.206 ERR] KubernetesProvider: K8s 初始化失败,请检查相关配置是否正确 (https://127.0.0.1:6443) 
System.Net.Http.HttpRequestException: Connection refused (127.0.0.1:6443)
 ---> System.Net.Sockets.SocketException (111): Connection refused
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ConnectAsync(Socket socket)
   at System.Net.Sockets.Socket.ConnectAsync(EndPoint remoteEP, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.AddHttp2ConnectionAsync(QueueItem queueItem)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecuteFromThreadPool(Thread threadPoolThread)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
--- End of stack trace from previous location ---
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.AddHttp2ConnectionAsync(QueueItem queueItem)
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at k8s.Kubernetes.SendRequestRaw(String requestContent, HttpRequestMessage httpRequest, CancellationToken cancellationToken)
   at k8s.AbstractKubernetes.ICoreV1Operations_ListNamespaceWithHttpMessagesAsync[T](Nullable`1 allowWatchBookmarks, String continueParameter, String fieldSelector, String labelSelector, Nullable`1 limit, String resourceVersion, String resourceVersionMatch, Nullable`1 sendInitialEvents, Nullable`1 timeoutSeconds, Nullable`1 watch, Nullable`1 pretty, IReadOnlyDictionary`2 customHeaders, CancellationToken cancellationToken)
   at k8s.AbstractKubernetes.k8s.ICoreV1Operations.ListNamespaceWithHttpMessagesAsync(Nullable`1 allowWatchBookmarks, String continueParameter, String fieldSelector, String labelSelector, Nullable`1 limit, String resourceVersion, String resourceVersionMatch, Nullable`1 sendInitialEvents, Nullable`1 timeoutSeconds, Nullable`1 watch, Nullable`1 pretty, IReadOnlyDictionary`2 customHeaders, CancellationToken cancellationToken)
   at k8s.CoreV1OperationsExtensions.ListNamespaceAsync(ICoreV1Operations operations, Nullable`1 allowWatchBookmarks, String continueParameter, String fieldSelector, String labelSelector, Nullable`1 limit, String resourceVersion, String resourceVersionMatch, Nullable`1 sendInitialEvents, Nullable`1 timeoutSeconds, Nullable`1 watch, Nullable`1 pretty, CancellationToken cancellationToken)
   at k8s.CoreV1OperationsExtensions.ListNamespace(ICoreV1Operations operations, Nullable`1 allowWatchBookmarks, String continueParameter, String fieldSelector, String labelSelector, Nullable`1 limit, String resourceVersion, String resourceVersionMatch, Nullable`1 sendInitialEvents, Nullable`1 timeoutSeconds, Nullable`1 watch, Nullable`1 pretty)
   at GZCTF.Services.Container.Provider.KubernetesProvider.InitKubernetes(Boolean withAuth, RegistryConfig registry) in /home/runner/work/GZCTF/GZCTF/src/GZCTF/Services/Container/Provider/KubernetesProvider.cs:line 94
   at GZCTF.Services.Container.Provider.KubernetesProvider..ctor(IOptions`1 registry, IOptions`1 options, ILogger`1 logger) in /home/runner/work/GZCTF/GZCTF/src/GZCTF/Services/Container/Provider/KubernetesProvider.cs:line 73
[24-03-24 06:49:15.221 FTL] : K8s 初始化失败,请检查相关配置是否正确 (https://127.0.0.1:6443) 

访问https://127.0.0.1:6443, 结果如下

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {},
  "status": "Failure",
  "message": "Unauthorized",
  "reason": "Unauthorized",
  "code": 401
}

kube-config.yaml配置如下

apiVersion: v1
clusters:
  - cluster:
      certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlRENDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTVRFeU5EazBOekF3SGhjTk1qUXdNekkwTURNd05ETXdXaGNOTXpRd016SXlNRE13TkRNdwpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTVRFeU5EazBOekF3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFRSU1IVjdBN0dsanhjQnFkYk9nRGRlbE9zREk0VmZHaDBnRG9aMUR6azQKa1dlb0lmOE43NVdtdzZMTC80bnZjWm1jdzlDV2dWTGRjdFVJTTU1Tit0TnRvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTVraWpYZkNOem85b1JXSDVCWkN3CndpY0VWNVl3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUpFUGd3RkR1UlJEUlpWNmRoN0JhRERQTEZXSmdSNW8KM3piODJOQTdEQ0hXQWlFQTZQdTdLdEozWFBCejFRc0Q4VFZQazJhY28zRXhYcWVNeTNUWVpKTW9JOGM9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
      server: https://127.0.0.1:6443
    name: default
contexts:
  - context:
      cluster: default
      user: default
    name: default
current-context: default
kind: Config
preferences: {}
users:
  - name: default
    user:
      client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrRENDQVRlZ0F3SUJBZ0lJWndCMGJ0YmhKYVl3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOekV4TWpRNU5EY3dNQjRYRFRJME1ETXlOREF6TURRek1Gb1hEVEkxTURNeQpOREF6TURRek1Gb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJBekx0cnNtUHVDalBmbGwKSHVYK1ZDODBsV2pQdzZjYi9lWHdURmZzd1JoWkpGNUdmUDdwUTJ3L0hxY0JXOW9MV3QvU2pBbm41em5Rd0JrVgpQcnpCdFR1alNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCUnRWVXZKU1kyOGNaUUE2M1Ewak05WUdjSFRvekFLQmdncWhrak9QUVFEQWdOSEFEQkUKQWlBUFFUVzFGcjh6MmtpaFV6bDU4dncxOXVyR0VNZmRBUmdsU0E1STNnaWJkUUlnWmsyMk5UN3FvdTBuWUdMRgpMWXVVZ1RCOFQ3cnYxa3p6Z0lkY1ByUG9veEU9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkakNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUzTVRFeU5EazBOekF3SGhjTk1qUXdNekkwTURNd05ETXdXaGNOTXpRd016SXlNRE13TkRNdwpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUzTVRFeU5EazBOekF3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFUd3c5Q0VkNW5LV1AzY2wvYXk5MjN6N04zTWtHdzFRSHRzTVp1VFVTd1oKOTh6OFVzWFV1bmdQZHlmdkJ6eGF3cDBvN2ZHdzk2TGtlWFg1Ly81WUJQdGJvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWJWVkx5VW1OdkhHVUFPdDBOSXpQCldCbkIwNk13Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnVG82cE9NaXlhbUdmcFpwOWNkc0xQVDk4dndUeCszRTQKanVEMTAxYjdSUjhDSUVVaElpdWY4VXpFRUhPS3BmQW9ZaVRqR3NHbDBMYnFDSEM2OFIyMlZXL0cKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      client-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUlBUWZQMW5uL1RxUUxLZ1JWaEh3dVI3VG9JMmVLNHF4N29tYmdtUEtxQVRvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFRE11MnV5WSs0S005K1dVZTVmNVVMelNWYU0vRHB4djk1ZkJNVit6QkdGa2tYa1o4L3VsRApiRDhlcHdGYjJndGEzOUtNQ2Vmbk9kREFHUlUrdk1HMU93PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=

基本都是按照默认的配置来的, 不知道为啥就是不成功, 求助一下

  1. 无论如何你都不应该将密钥发出
  2. 此类问题下次在用户群中请教
  3. 字面意思,无法连接。你没有改 k8s 配置中的地址,在文档中提到过了,127.0.0.1 上并没有服务。
  4. 如果你不理解为什么不能用 127.0.0.1,你可能需要学习一些计算机网络、容器网络、桥接等内容。
  1. 无论如何你都不应该将密钥发出
  2. 此类问题下次在用户群中请教
  3. 字面意思,无法连接。你没有改 k8s 配置中的地址,在文档中提到过了,127.0.0.1 上并没有服务。
  4. 如果你不理解为什么不能用 127.0.0.1,你可能需要学习一些计算机网络、容器网络、桥接等内容。

解决了, 谢谢