Ich benutze Kubernetes 1.2 Beispiel, um 2 Cassandra-Knoten zum Testen zu betreiben. https://github.com/kubernetes/kubernetes/blob/release-1.2/examples/cassandra/README.mdCassandra - Kubernetes Wie pod ip beim Neustart zu halten
Ich benutze Daemonset, um einen Cassandra-Knoten von Kubernetes-Knoten zu haben. Alles funktioniert gut, bis ein Cassandra-Knoten neu gestartet wird. IP-Adresse des POD Änderungen und nodetools Status kehrt Knoten AB
> kubectl exec -it cassandra-lnzhj -- nodetool status fruition
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 10.216.1.4 25.22 MB 256 39.6% 786aede9-ec4f-4942-b52a-135bc3cd68ce rack1
UN 10.216.0.3 2.11 MB 256 40.1% 457f7322-131a-4499-b677-4d50691207ba rack1
DN 10.216.0.2 377.41 KB 256 38.8% aa2ca115-e8ea-4c62-8d57-bfc5b3fabade rack1
Dann, wenn ich versuche, ein einfaches zu senden „aus der Tabelle * wählen;“ auf einem Schlüsselraum mit einem Replikationsfaktor von 2, habe ich diesen Fehler:
Traceback (most recent call last):
File "/usr/bin/cqlsh", line 1093, in perform_simple_statement rows = self.session.execute(statement, trace=self.tracing_enabled)
File "/usr/share/cassandra/lib/cassandra-driver-internal-only-2.7.2.zip/cassandra-driver-2.7.2/cassandra/cluster.py", line 1602, in execute result = future.result()
File "/usr/share/cassandra/lib/cassandra-driver-internal-only-2.7.2.zip/cassandra-driver-2.7.2/cassandra/cluster.py", line 3347, in result raise self._final_exception
Unavailable: code=1000 [Unavailable exception] message="Cannot achieve consistency level ONE" info={'required_replicas': 1, 'alive_replicas': 0, 'consistency': 'ONE'}
Wie POD IP-Adresse halten, um nicht nach unten Knoten zu haben, wenn Kubernetes es neu starten? Gibt es einen besseren Weg, es mit Cassandra-Konfiguration zu tun?
Es tut uns leid, diese alte Frage erneut zu stellen, aber ist es nicht möglich, die gleiche IP für einen Container mit StatefulSets zu behalten? –
StatefulSets sind der definitive Name für PetSets. – EricM