M
роллинг апдейт скриптами ансибла?
Dmitry
это накатывание изменений на несколько хостов?)
M
http://kubernetes.io/docs/user-guide/rolling-updates/
Dmitry
да, читаю уже)
Dmitry
странная херня с дешбордом
# kubectl cluster-info
kubernetes-dashboard is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard
а в
# kubectl get pods —all-namespaces
kubernetes-dashboard-v1.1.0-egdts 0/1 CrashLoopBackOff
Dmitry
# kubectl logs kubernetes-dashboard-v1.1.0-egdts —namespace=kube-system
Starting HTTP server on port 9090
Creating API server client for https://10.254.0.1:443
Error while initializing connection to Kubernetes apiserver. This most likely means that the cluster is misconfigured (e.g., it has invalid apiserver certificates or service accounts configuration) or the —apiserver-host param points to a server that does not exist. Reason: Get https://10.254.0.1:443/version: dial tcp 10.254.0.1:443: i/o timeout
M
-v1.1.0 too old
M
1.4.0 ставь
Anonymous
там в энсибле 1.2.4 дефолт вроде
Dmitry
M
10.254.0.1:443 там есть что то?
M
curl
Dmitry
неконектится, походу нет
Anonymous
iptables смотри
Anonymous
в k8s нет ipv6?
Anonymous
серьезно?
Anonymous
в GCE нет ipv6?
M
и хорошо что нет и так все крайне запутанно)
Anonymous
я только что issue открыл и там типа
Anonymous
ну aws и gce же не поддерживают ipv6, нафига нам это
Anonymous
вот говно)
Anonymous
хотя по факту нужно на балансировщике только ipv6
Anonymous
расскажите про kube-discovery, пожалуйста
Anonymous
я тут kubeadm init сделал и там есть под с kube-discovery, зачем он?
Dmitry
kubernetes-dashboard-v1.4.0-w6bxd 1/1 Running 0 1m
Dmitry
но на 10.254.0.1:443 никто не отвечает
M
kubectl logs нового дашборда что говорит?
Dmitry
kube-system kubernetes-dashboard-v1.4.0-w6bxd 0/1 CrashLoopBackOff 2 3m
Dmitry
вот походу почему не отвечает
M
Там много вариантов почему нет)
Dmitry
root@cs49854:/var/log# journalctl -u kubernetes-dashboard
— No entries —
root@cs49854:/var/log# journalctl -u kubernetes-dashboard-v1.4.0
— No entries —
root@cs49854:/var/log# journalctl -u kubernetes-dashboard-v1.4.0-w6bxd
— No entries —
root@cs49854:/var/log# journalctl -u dashboard
— No entries —
M
Не так
M
kubectl logs имя пода --namespace kube-system
Dmitry
# kubectl logs kubernetes-dashboard-v1.4.0-w6bxd —namespace kube-system
Starting HTTP server on port 9090
Creating API server client for https://10.254.0.1:443
Dmitry
странно
Dmitry
а, вот щас норм:
# kubectl logs kubernetes-dashboard-v1.4.0-w6bxd —namespace kube-system
Starting HTTP server on port 9090
Creating API server client for https://10.254.0.1:443
Error while initializing connection to Kubernetes apiserver. This most likely means that the cluster is misconfigured (e.g., it has invalid apiserver certificates or service accounts configuration) or the —apiserver-host param points to a server that does not exist. Reason: Get https://10.254.0.1:443/version: dial tcp 10.254.0.1:443: i/o timeout
M
Ну тоже самое по сути
M
Попробуй из другого пода, который running curl этот адрес
Dmitry
это как?
Dmitry
kube-system elasticsearch-logging-v1-1v0l6 1/1 Running 1 1h
kube-system elasticsearch-logging-v1-jbukm 1/1 Running 1 1h
kube-system fluentd-elasticsearch-95.213.236.162 1/1 Running 0 37m
kube-system heapster-v1.0.2-3427619061-n54m2 0/4 Pending 0 1h
kube-system kibana-logging-v1-bryii 0/1 CrashLoopBackOff 5 1h
kube-system kube-dns-v11-5ag5d 3/4 CrashLoopBackOff 17 1h
kube-system kubernetes-dashboard-v1.4.0-w6bxd 0/1 CrashLoopBackOff 5 9m
kube-system monitoring-influxdb-grafana-v3-6nrjj 0/2 Pending 0 1h
Dmitry
там еластик только остался из тех, кто слушает
Dmitry
остальные тоже крашатся
M
kubectl exec -ti elasticsearch-logging-v1-jbukm /bin/sh —namespace kube-system
M
и оттуда curl
M
если нет то смотри сеть если курл пройдет то смотри сертификаты
Dmitry
# kubectl exec -ti elasticsearch-logging-v1-1v0l6 /bin/sh —namespace=kube-system
# curl 10.254.0.1:443
Dmitry
вошел в контейнер
Dmitry
но курл не прошел
Dmitry
висит
M
значит смотри сеть
M
я на убунте не настраивал, не знаю кто там вместо flanneld
Dmitry
в ансибле можно выбрать между ними: flannel|opencontrail|contiv
M
а что говорит ip addr sh ?
Dmitry
https://gist.github.com/dkostenko/325b8b55d040feacd62c8a74e0afc98e
Dmitry
выполннил его на мастере
Dmitry
если честно, это для меня уже магия
M
помоему у docker0 должна быть другая подсеть после запуска flannel
M
inet 172.17.0.1/16
M
это похожа на дефолтную
M
если можешь ребутни сервак, может оно правильно поднимется после бута
Dmitry
посмотрел в ансибле - там этого не прописывается
Dmitry
сейчас сделаю ребут
Dmitry
а оно вообще само встанет с колен?)
Dmitry
ребутаю только мастер
Dmitry
ребутнул мастер
та же ерунда:
# kubectl get pods —all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system elasticsearch-logging-v1-1ay1u 1/1 Running 1 8m
kube-system elasticsearch-logging-v1-rvogl 1/1 Running 1 8m
kube-system fluentd-elasticsearch-95.213.236.162 1/1 Running 0 54s
kube-system heapster-v1.0.2-3427619061-n54m2 0/4 Pending 0 1h
kube-system kibana-logging-v1-3aqfg 0/1 CrashLoopBackOff 3 8m
kube-system kube-dns-v11-l6hrh 3/4 Running 5 8m
kube-system kubernetes-dashboard-v1.4.0-xjz0x 0/1 CrashLoopBackOff 3 8m
kube-system monitoring-influxdb-grafana-v3-6nrjj 0/2 Pending 0 1h
M
подсети те же на интерфейсах?
Dmitry
да
Dmitry
ip addr show без изменений
Dmitry
в ансибле можно подсеть настроить
# Flannel internal network (optional). When flannel is used, it will assign IP
# addresses from this range to individual pods.
# This network must be unused in your network infrastructure!
flannel_subnet: 172.16.0.0
# Flannel internal network total size (optional). This is the prefix of the
# entire flannel overlay network. So the entirety of 172.16.0.0/12 must be
# unused in your environment.
flannel_prefix: 12
# Flannel internal network (optional). This is the size allocation that flannel
# will give to each node on your network. With these defaults you should have
# room for 4096 nodes with 254 pods per node.
flannel_host_prefix: 24
Dmitry
но по докеру не вижу
M
может оно так и должно быть,
M
давай лучше iptables-save
Dmitry
это как?
Dmitry
# iptables-save
# Generated by iptables-save v1.6.0 on Sun Oct 16 00:57:00 2016
*nat
:PREROUTING ACCEPT [63:8363]
:INPUT ACCEPT [47:5163]
:OUTPUT ACCEPT [720:110615]
:POSTROUTING ACCEPT [720:110615]
:DOCKER - [0:0]
-A PREROUTING -m addrtype —dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype —dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A DOCKER -i docker0 -j RETURN
COMMIT
# Completed on Sun Oct 16 00:57:00 2016
# Generated by iptables-save v1.6.0 on Sun Oct 16 00:57:00 2016
*filter
:INPUT ACCEPT [31090:16369654]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [30704:17099080]
:DOCKER - [0:0]
:DOCKER-ISOLATION - [0:0]
-A FORWARD -j DOCKER-ISOLATION
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -o docker0 -m conntrack —ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER-ISOLATION -j RETURN
COMMIT
# Completed on Sun Oct 16 00:57:00 2016
M
маловато всего, а kube-proxy запущены в юзерспейсе?