У меня есть простое развертывание k8s.
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-deployment
labels:
app: test
spec:
replicas: 3
selector:
matchLabels:
app: test
template:
metadata:
labels:
app: test
spec:
containers:
- name: test-container
image: centos:7
command: ["/bin/sh"]
args: ["-c", "tail -f /dev/null"]
Это приводит к созданию модулей, которые выглядят следующим образом:
NAME READY STATUS RESTARTS AGE
test-deployment-59bb6b8b4d-pnfg8 1/1 Running 0 11m
test-deployment-59bb6b8b4d-s7w8x 1/1 Running 0 11m
test-deployment-59bb6b8b4d-wvw7n 1/1 Running 0 11m
По умолчанию имена хостов соответствуют каждому из них. имена стручков.
>> kubectl exec test-deployment-59bb6b8b4d-pnfg8 -c test-container env | grep HOSTNAME
HOSTNAME=test-deployment-59bb6b8b4d-pnfg8
>> kubectl exec test-deployment-59bb6b8b4d-s7w8x -c test-container env | grep HOSTNAME
HOSTNAME=test-deployment-59bb6b8b4d-s7w8x
>> kubectl exec test-deployment-59bb6b8b4d-wvw7n -c test-container env | grep HOSTNAME
HOSTNAME=test-deployment-59bb6b8b4d-wvw7n
Вот мой вопрос. Есть ли способ, которым я мог бы предварительно настроить имена хостов так, чтобы они выглядели примерно так?
>> kubectl exec test-deployment-59bb6b8b4d-pnfg8 -c test-container env | grep HOSTNAME
HOSTNAME=test-deployment-pod1
>> kubectl exec test-deployment-59bb6b8b4d-s7w8x -c test-container env | grep HOSTNAME
HOSTNAME=test-deployment-pod2
>> kubectl exec test-deployment-59bb6b8b4d-wvw7n -c test-container env | grep HOSTNAME
HOSTNAME=test-deployment-pod3
Ожидалось бы также, что, когда модуль отключается и заменяется, новый модуль связывается с имя хоста, которому был сопоставлен старый.
Заранее спасибо!