Я играю с Kubernetes и получил две машины VirtualBox — основную и рабочую. Каждый из них имеет два сетевых интерфейса - один для Интернета, а другой для связи между ВМ и хост-машиной.И у меня возникли проблемы с настройкой Calico, потому что он автоматически определяет неправильный сетевой интерфейс. Я сделал несколько настроек, чтобы исправить это, но одна проблема остается - воркер берет неправильный IP. И нашел как это исправить - но не работает. Подробности ниже.
Текущая рабочая конфигурация (10.0.3.15
это "неправильный" IP):
[12:35]user@ubuntu-vbox-k8s-master[~]$ ./calicoctl получить узел ubuntu-vbox-k8s-worker -o yaml
apiVersion: projectcalico.org/v3
вид: узел
метаданные:
аннотации:
projectcalico.org/kube-labels: '{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/os":"linux","kubernetes.io/arch":"amd64", "kubernetes.io/hostname":"ubuntu-vbox-k8s-worker","kubernetes.io/os":"linux"}'
Отметка времени создания: "2021-09-26T10:59:00Z"
этикетки:
beta.kubernetes.io/arch: amd64
beta.kubernetes.io/os: Linux
kubernetes.io/arch: amd64
kubernetes.io/имя хоста: ubuntu-vbox-k8s-worker
kubernetes.io/ОС: линукс
имя: ubuntu-vbox-k8s-рабочий
РесурсВерсия: "9219"
UID: 6f5efd41-e06c-4f9d-9b3a-248af88a385e
спецификация:
адреса:
- адрес: 10.0.3.15/24
тип: CalicoNodeIP
- адрес: 10.0.3.15
тип: Внутренний IP
бгп:
ipv4Адрес: 10.0.3.15/24
ipv4IPIPTunnelAddr: 192.168.77.64
orchСсылки:
- имя_узла: ubuntu-vbox-k8s-worker
оркестратор: k8s
положение дел: {}
Я пытаюсь применить фиксированный:
[12:37]user@ubuntu-vbox-k8s-master[~]$ кот calico-worker.yaml
apiVersion: projectcalico.org/v3
вид: узел
метаданные:
аннотации:
projectcalico.org/kube-labels: '{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/os":"linux","kubernetes.io/arch":"amd64", "kubernetes.io/hostname":"ubuntu-vbox-k8s-worker","kubernetes.io/os":"linux"}'
Отметка времени создания: "2021-09-26T10:59:00Z"
этикетки:
beta.kubernetes.io/arch: amd64
beta.kubernetes.io/os: Linux
kubernetes.io/arch: amd64
kubernetes.io/имя хоста: ubuntu-vbox-k8s-worker
kubernetes.io/ОС: линукс
имя: ubuntu-vbox-k8s-рабочий
версия ресурса: "5303"
UID: 6f5efd41-e06c-4f9d-9b3a-248af88a385e
спецификация:
адреса:
- адрес: 192.168.56.109
тип: Внутренний IP
orchСсылки:
- имя_узла: ubuntu-vbox-k8s-worker
оркестратор: k8s
положение дел: {}
и получил ошибку:
[12:38]user@ubuntu-vbox-k8s-master[~]$ ./calicoctl apply -f calico-worker.yaml
Не удалось применить ресурс «Узел»: [конфликт обновления: узел (ubuntu-vbox-k8s-worker)]
Это странно, потому что мне удалось точно так же исправить мастер-ноду Calico без конфликта с конфигом:
apiVersion: projectcalico.org/v3
вид: узел
метаданные:
аннотации:
projectcalico.org/kube-labels: '{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/os":"linux","kubernetes.io/arch":"amd64", "kubernetes.io/hostname":"ubuntu-vbox-k8s-master","kubernetes.io/os":"linux","node-role.kubernetes.io/control-plane":"","node- role.kubernetes.io/master":"","node.kubernetes.io/exclude-from-external-load-balancers":""}'
Отметка времени создания: "2021-09-26T10:56:24Z"
этикетки:
beta.kubernetes.io/arch: amd64
beta.kubernetes.io/os: Linux
kubernetes.io/arch: amd64
kubernetes.io/имя хоста: ubuntu-vbox-k8s-master
kubernetes.io/ОС: линукс
node-role.kubernetes.io/control-plane: ""
узел-роль.kubernetes.io/мастер: ""
node.kubernetes.io/exclude-from-external-load-balancers: ""
имя: ubuntu-vbox-k8s-мастер
версия ресурса: "9052"
UID: 9e6d55c6-f449-4ded-ab47-ea9d889d6b43
спецификация:
адреса:
- адрес: 192.168.56.108
тип: Внутренний IP
бгп:
ipv4IPIPTunnelAddr: 192.168.77.0
orchСсылки:
- имя_узла: ubuntu-vbox-k8s-мастер
оркестратор: k8s
положение дел:
podCIDR:
- 192.168.77.0/24