我在GCP上有一个kubernetes集群,其中有一个Elasticsearch服务。
我有一个elasticsearch-0
容器,该容器运行的是Elasticsearch的Docker容器。
~ ❯❯❯ kubectl describe pod elasticsearch-0
Name: elasticsearch-0
Namespace: default
Node: gke-jaeger-persistent-st-default-pool-xxxxx-phvx/10.166.0.4
Start Time: Mon, 07 Jan 2019 14:21:19 +0100
Labels: app=jaeger-elasticsearch
controller-revision-hash=elasticsearch-8684f69799
jaeger-infra=elasticsearch-replica
statefulset.kubernetes.io/pod-name=elasticsearch-0
Annotations: kubernetes.io/limit-ranger: LimitRanger plugin set: cpu request for container elasticsearch
Status: Running
IP: 10.36.2.27
Controlled By: StatefulSet/elasticsearch
Containers:
elasticsearch:
Container ID: docker://5212b8c223401355bd29a5639caea5097074a8a8101ceb10300f76465e4a6536
Image: docker.elastic.co/elasticsearch/elasticsearch:5.6.0
Image ID: docker-pullable://docker.elastic.co/elasticsearch/elasticsearch@sha256:f95e7d4256197a9bb866b166d9ad37963dc7c5764d6ae6400e551f4987a659d7
Port: <none>
Host Port: <none>
Command:
我需要访问管理我的pod的节点,以便获取我的elasticsearch容器的容器ID。
我使用gcloud compute instances list
获得了实例的名称,并通过gcloud compute ssh <node-name> --zone=<zone-name>
命令输入,并以root特权docker exec -it -u root containerID bash
输入了elasticsearch docker容器(以下是{{3} })
我需要执行此操作,因为我需要添加一个名为/jaeger-data
的新mountPath,以便将其与我已经准备好的持久卷声明相关联。
我进入docker容器并创建mountPath
[root@elasticsearch-0 elasticsearch]# mkdir /jaeger-data
[root@elasticsearch-0 elasticsearch]#
但是我可以看到我不断从docker容器断开连接,因为containerID
是以连续方式更改的。
每次我使用containerID
命令进入节点以获取docker ps -a
时,此containerID
是不同的,并且当使用新ID进入新容器时,我的{{1 }}找不到mountPath,这意味着没有,可能是因为我正在输入新的容器...
我的containerID始终更改的原因是什么? 这与包含我的pod的Kubernetes节点有关吗?该容器具有我的Elasticsearch Docker容器?
与 steps 情况有关吗?
Kubernetes豆荚是凡人。他们是天生的,死后不会复活。特别是ReplicaSets可动态创建和销毁Pod(例如在向外扩展或向内扩展时)。尽管每个Pod都有自己的IP地址,但即使是那些IP地址,也无法长期保持稳定。这就带来了一个问题:如果某个Pod集(我们称其为后端)为Kubernetes集群中的其他Pod(我们称其为前端)提供了功能,那么这些前端如何找出并跟踪该集中的哪些后端?
输入服务。
我该如何解决这种情况?
我需要创建我的mountPath以便将其关联到我的/jaeger-data
吊舱配置