1
docker compose
에서 오는 K8을 중심으로 머리를 쓰려고합니다. 나는 레지스트리에 밀어 넣은 두 개의 컨테이너로 첫 번째 포드를 설치하고 싶습니다. 다음 질문 :kubernetes에서 DNS를 통해 env 변수로 IP 받기
등록자가 영사에게 연결할 수 있도록 DNS를 통해 환경 변수에 IP를 어떻게 가져 옵니까? args consul://consul:8500
의 컨테이너 등록자를 참조하십시오. 영사는 env와 함께 변경해야합니다. 다른 응용 프로그램
{
"kind": "Pod",
"apiVersion": "v1",
"metadata": {
"name": "service-discovery",
"labels": {
"name": "service-discovery"
}
},
"spec": {
"containers": [
{
"name": "consul",
"image": "eu.gcr.io/{myproject}/consul",
"args": [
"-server",
"-bootstrap",
"-advertise=$(MY_POD_IP)"
],
"env": [{
"name": "MY_POD_IP",
"valueFrom": {
"fieldRef": {
"fieldPath": "status.podIP"
}
}
}],
"imagePullPolicy": "IfNotPresent",
"ports": [
{
"containerPort": 8300,
"name": "server"
},
{
"containerPort": 8400,
"name": "alt-port"
},
{
"containerPort": 8500,
"name": "ui-port"
},
{
"containerPort": 53,
"name": "udp-port"
},
{
"containerPort": 8443,
"name": "https-port"
}
]
},
{
"name": "registrator",
"image": "eu.gcr.io/{myproject}/registrator",
"args": [
"-internal",
"-ip=$(MY_POD_IP)",
"consul://consul:8500"
],
"env": [{
"name": "MY_POD_IP",
"valueFrom": {
"fieldRef": {
"fieldPath": "status.podIP"
}
}
}],
"imagePullPolicy": "Always"
}
]
}
}