
Maxim
28.08.2016
20:49:41
можно же просто в контейнере
не внутре кластера
-p 80:80 -p 443:443 и поехали

Denis
28.08.2016
20:53:52
да да да

Google

Denis
28.08.2016
20:53:53
именно
вопрос только - какого фига в K8s это не предусмотрели нормально?

Maxim
28.08.2016
20:54:30
там ваще всем насрать на bare metal
и в общем-то это понятно
у них есть GCE для этого

Denis
28.08.2016
21:01:58
оно как раз и выполняет роль этого nginx, грубо говоря?)
30m 9s 129 {kubelet 10.91.119.197} spec.containers{nginxfindx} Normal BackOff Back-off pulling image "10.91.87.27:5000/nginxfindx:latest"
30m 9s 129 {kubelet 10.91.119.197} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "nginxfindx" with ImagePullBackOff: "Back-off pulling image \"10.91.87.27:5000/nginxfindx:latest\""
секрет прописал до Private Docker Registry, но чё-то хватает

Maxim
28.08.2016
21:24:22
как ты его прописал?

Denis
28.08.2016
21:25:46
По мануалу :) Добавил секрет, добавил Pod:
spec:
replicas: 1
template:
metadata:
name: nginxapp
labels:
app: nginxapp
role: frontend
env: master
spec:
containers:
- name: nginxapp
image: xyz:5000/nginxapp:latest
imagePullPolicy: Always
ports:
- containerPort: 80
restartPolicy: Always
imagePullSecrets:
- name: privateregistry

Maxim
28.08.2016
21:27:32
покажи пуллсикрет

Denis
28.08.2016
21:28:45
да с ним всё ок )
он сделан правильно

Google

Denis
28.08.2016
21:29:04
пять сек ещё раз проверю
а блин
я чё-то не тот хост указал
сейчас запустилось
а как-то прописывать отдельно надо DNS, чтобы был доступ preview.apps.svc.kubernetes.local?

Maxim
28.08.2016
21:51:13
ну в /etc/resolv.conf добавь его первой строчкой да и все

Denis
28.08.2016
21:51:55
а блин
я же его даже не запустил
о жесть
короче не запускался DNS, доходил до 2/3 и прекращался в течении 40 секунд. нашёл этот issue: https://github.com/kubernetes/kubernetes/issues/19332
решение простое - удалить default-token:
kubectl delete secrets/default-token-<что-то здесь> --namespace=kube-system
#solved
хм
покрутился немного и опять отвалился

Maxim
28.08.2016
22:26:32
ну под не может умереть бесследно
евенты должны быть
и логи в мертвом контейнере

Denis
28.08.2016
22:28:00
Я тоже так думал, но может похоже
Мертвые контейнеры подчищаются
docker ps -a|grep dns пустой

Maxim
28.08.2016
22:43:45
ну ты же сам присылал ссылку на http://kubernetes.io/docs/user-guide/application-troubleshooting
там есть
If your container has previously crashed, you can access the previous container’s crash log with:
$ kubectl logs --previous ${POD_NAME} ${CONTAINER_NAME}

Google

Denis
28.08.2016
22:57:16
)
эта штука не работает
kubectl logs --previous kube-dns-v19-c7jjc kubedns --namespace=kube-system
Error from server: pods "kube-dns-v19-c7jjc" not found

Maxim
28.08.2016
23:01:21
запусти его еще раз
в одной консольки смотри евенты
в другой - логи контейнера
kubectl logs -f --namespace=kube-system kube-dns-v19-<ololo> -c kubedns

Denis
28.08.2016
23:08:53
пять сек

Maxim
28.08.2016
23:20:22
--kube-master-url=ебаное_ничего

Denis
28.08.2016
23:20:31
)))

Maxim
28.08.2016
23:20:51
может он как кьюблет, не может взять из kubeconfig'a
и еще мне нравится последняя строчка

Maxim
28.08.2016
23:21:39
он received signal: terminated
именно received
это важно

Denis
28.08.2016
23:21:50
типа он из внешнего источника?
да

Maxim
28.08.2016
23:21:56
то есть он не от скуки сдох
его убили
смотри логи healthz-контейнера

Google

Maxim
28.08.2016
23:22:39
kubectl logs -f --namespace=kube-system kube-dns-v19-<ololo> -c healthz

Denis
28.08.2016
23:25:16
там пустота
и в dnsmasq
ща ещё раз гляну

Maxim
28.08.2016
23:26:19
тест на внимательность
что у тебя в строке запуска healthz?
наверняка же мой домен оставил вместо своего? ;)

Denis
28.08.2016
23:27:07
kubectl logs -f kube-dns-v19-5hq3q -c healthz —namespace=kube-system

Admin
ERROR: S client not available

Maxim
28.08.2016
23:27:21
я про манифест

Denis
28.08.2016
23:27:49
domain=kube.local
- —domain=kube.local
- —dns-port=10053
- —kubecfg-file=/etc/kubernetes/kubeconfig.yml

Maxim
28.08.2016
23:28:13
я про healthz
;)
https://gist.github.com/Bregor/7079efc9b12e70e583e4847ed5ec7e91#file-dns-rc-yaml-L106
вот тут

Denis
28.08.2016
23:29:16
а да )
- -cmd=nslookup kubernetes.default.svc.kube.local 127.0.0.1 >/dev/null && nslookup kubernetes.default.svc.kube.local 127.0.0.1:10053 >/dev/null
- -port=8080
- -quiet

Maxim
28.08.2016
23:29:20
нубля
он не может его разлукапить

Google

Maxim
28.08.2016
23:29:41
и рапортует, что днс нездоров
апи его убивает

Denis
28.08.2016
23:30:30
так
значит в resolv ещё надо прописать
ещё я думаю вот что
kubernetes.default.svc.kube.local
есть ли такой сервис

Maxim
28.08.2016
23:34:46
есть
в дефолт-неймспейсе

Denis
28.08.2016
23:35:22
да

Maxim
28.08.2016
23:35:30
$ kubectl get svc kubernetes
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 192.168.0.1 <none> 443/TCP 81d

Denis
28.08.2016
23:35:58
$ kubectl get svc --all-namespaces
NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes 10.100.0.1 <none> 443/TCP 12h
арррр
https://github.com/kubernetes/kubernetes/tree/master/cluster/gce/coreos воу что нашёл, инсталляция Kubernetes на CoreOS :)

Alexander
29.08.2016
11:25:24
ну, CoreOS - это самый логичный выбор для Kubernetes

Maxim
29.08.2016
11:25:43
а почему не RancherOS?

Alexander
29.08.2016
11:26:14
это какая-то странная система, там systemd нет
как я это всё вижу: есть война между докером и системд
результат войны с одной стороны - воявление Rkt'а, а с другой стороны - появление Rancher'а
Ркт ставит целью выкинуть Докер в экосистеме CoreOS
а Rancher , аналогично, не оставляет места для systemd