0

Ignite 节点未在 Kubernetes 集群中连接。我已经使用 API 方法TcpDiscoveryKubernetesIpFinder并使用 . 将 kubernetes 主 IP 地址明确设置为https://192.167.120.92:443(kubernetes 主节点的 IP 地址)。ipFinder.setMasterUrl("https://192.167.120.92:443")以下是我得到的错误日志,并且 ignite ipfinder 无法检索 ignite pod 的 IP 地址。

[11:25:43,471][INFO][main][IgniteKernal]

>>>    __________  ________________
>>>   /  _/ ___/ |/ /  _/_  __/ __/
>>>  _/ // (7 7    // /  / / / _/
>>> /___/\___/_/|_/___/ /_/ /___/
>>>
>>> ver. 1.9.0#20170302-sha1:a8169d0a
>>> 2017 Copyright(C) Apache Software Foundation
>>>
>>> Ignite documentation: http://ignite.apache.org

[11:25:43,473][INFO][main][IgniteKernal] Config URL: n/a
[11:25:43,473][INFO][main][IgniteKernal] Daemon mode: off
[11:25:43,473][INFO][main][IgniteKernal] OS: Linux 3.10.0-514.21.2.el7.x86_64 amd64
[11:25:43,474][INFO][main][IgniteKernal] OS user: root
[11:25:43,477][INFO][main][IgniteKernal] PID: 7
[11:25:43,478][INFO][main][IgniteKernal] Language runtime: Java Platform API Specification ver. 1.8
[11:25:43,478][INFO][main][IgniteKernal] VM information: OpenJDK Runtime Environment 1.8.0_111-8u111-b14-2~bpo8+1-b14 Oracle Corporation OpenJDK 64-Bit Server VM 25.111-b14
[11:25:43,480][INFO][main][IgniteKernal] VM total memory: 27.0GB
[11:25:43,481][INFO][main][IgniteKernal] Remote Management [restart: off, REST: on, JMX (remote: off)]
[11:25:43,481][INFO][main][IgniteKernal] IGNITE_HOME=/opt/ignite/apache-ignite-fabric-1.9.0-bin
[11:25:43,481][INFO][main][IgniteKernal] VM arguments: [-DIGNITE_QUIET=false]
[11:25:43,482][INFO][main][IgniteKernal] Configured caches ['ignite-marshaller-sys-cache', 'ignite-sys-cache', 'ignite-atomics-sys-cache']
[11:25:43,492][INFO][main][IgniteKernal] 3-rd party licenses can be found at: /opt/ignite/apache-ignite-fabric-1.9.0-bin/libs/licenses
[11:25:43,609][INFO][main][IgnitePluginProcessor] Configured plugins:
[11:25:43,609][INFO][main][IgnitePluginProcessor]   ^-- None
[11:25:43,610][INFO][main][IgnitePluginProcessor]
[11:25:43,700][INFO][main][TcpCommunicationSpi] Successfully bound communication NIO server to TCP port [port=47100, locHost=0.0.0.0/0.0.0.0, selectorsCnt=28, selectorSpins=0, pairedConn=false]
[11:25:43,707][WARNING][main][TcpCommunicationSpi] Message queue limit is set to 0 which may lead to potential OOMEs when running cache operations in FULL_ASYNC or PRIMARY_SYNC modes due to message queues growth on sender and receiver sides.
[11:25:43,757][WARNING][main][NoopCheckpointSpi] Checkpoints are disabled (to enable configure any GridCheckpointSpi implementation)
[11:25:43,802][WARNING][main][GridCollisionManager] Collision resolution is disabled (all jobs will be activated upon arrival).
[11:25:43,807][WARNING][main][NoopSwapSpaceSpi] Swap space is disabled. To enable use FileSwapSpaceSpi.
[11:25:43,809][INFO][main][IgniteKernal] Security status [authentication=off, tls/ssl=off]
[11:25:44,249][INFO][main][GridTcpRestProtocol] Command protocol successfully started [name=TCP binary, host=0.0.0.0/0.0.0.0, port=11211]
[11:25:44,316][INFO][main][IgniteKernal] Non-loopback local IPs: 172.17.0.3, fe80:0:0:0:42:acff:fe11:3%eth0
[11:25:44,316][INFO][main][IgniteKernal] Enabled local MACs: 0242AC110003
[11:25:44,380][INFO][main][TcpDiscoverySpi] Successfully bound to TCP port [port=47500, localHost=0.0.0.0/0.0.0.0, locNodeId=57a9922d-0b32-455f-ab6a-e5459a83a02a]
[11:25:44,854][SEVERE][main][TcpDiscoverySpi] Failed to get registered addresses from IP finder on start (retrying every 2000 ms).
class org.apache.ignite.spi.IgniteSpiException: Failed to retrieve Ignite pods IP addresses.
        at org.apache.ignite.spi.discovery.tcp.ipfinder.kubernetes.TcpDiscoveryKubernetesIpFinder.getRegisteredAddresses(TcpDiscoveryKubernetesIpFinder.java:172)
        at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.registeredAddresses(TcpDiscoverySpi.java:1613)
        at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.resolvedAddresses(TcpDiscoverySpi.java:1562)
        at org.apache.ignite.spi.discovery.tcp.ServerImpl.sendJoinRequestMessage(ServerImpl.java:974)
        at org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:837)
        at org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:351)
        at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:1850)
        at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:268)
        at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:685)
        at org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1626)
        at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:924)
        at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1799)
        at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1602)
        at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042)
        at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:569)
        at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:516)
        at org.apache.ignite.Ignition.start(Ignition.java:322)
        at ServiceDeployment.main(ServiceDeployment.java:85)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668)
        at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
        at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
        at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
        at org.apache.ignite.spi.discovery.tcp.ipfinder.kubernetes.TcpDiscoveryKubernetesIpFinder.getRegisteredAddresses(TcpDiscoveryKubernetesIpFinder.java:153)
        ... 17 more

我尝试过法兰绒和编织网络,但在这两种情况下我都遇到了同样的错误。同样根据后主节点通信,默认情况下集群节点应该能够通过端口 443 上的 https 与主节点通信,并且在我的情况下应该能够检索 IP 地址,但它没有发生。

4

1 回答 1

0

其实,无论你做什么都是对的。但是您必须设置令牌的路径。

ipFinder.setAccountToken(/path/to/token)

默认情况下,这将指向/var/run/secrets/kubernetes.io/serviceaccount/token

您可以尝试授予您的服务帐户权限或将其添加到管理员列表中。我遇到了这个问题,只是把这个角色给了服务帐户。

运行这个:

kubectl create clusterrolebinding serviceaccounts-cluster-admin--clusterrole=cluster-admin --group=system:serviceaccounts 
于 2018-04-05T07:13:50.630 回答