Aleksandr
может кто-то обладает даром ясновидения и знает что я упускаю? =)
Andor
tcpdump?
Dmitrii
Ребята, а как в Kubertenes организуется аггрегация логов? Есть готовые механизмы? Или может быть рецепты для сращивания с ELK?
Sergey
можно и fluentd
гугол в помощь
Nikolay
G72K
Lex
привет, поднял тестовый стенд, но kube-proxy не может вытащить данные для работы, вот что в логах на всех kube-proxy:
E0421 17:17:12.577220 1 reflector.go:205] k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/factory.go:86: Failed to list *core.Service: Unauthorized
E0421 17:17:12.577624 1 reflector.go:205] k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/factory.go:86: Failed to list *core.Endpoints: Unauthorized
Lex
кто знает как победить?
Mikhail [azalio]
Lex
сервис аккаунта не было, создал, ща буду посмотреть
Lex
все то же самое
Lex
при попытке применить этот yaml выдает:
error: error validating "addons/kube-proxy-rbac.yaml": error validating data: [ValidationError(ClusterRoleBinding): unknown field "apiGroup" in io.k8s.api.rbac.v1beta1.ClusterRoleBinding, ValidationError(ClusterRoleBinding.roleRef): missing required field "apiGroup" in io.k8s.api.rbac.v1beta1.RoleRef]; if you choose to ignore these errors, turn validation off with —validate=false
Andor
Это на какой версии?
Sergey
а откуда куда данные хотите вытаскивать
Lex
1.10.1
Lex
Lex
хм, применил еще раз и применилось
Lex
но прокси так и не работает
Lex
:(
Lex
ща перегенерю сертификаты, кажется нашел, у меня для kube-proxy в сертификате common_name=system:kube-proxy
Lex
попробую с common_name=kube-system:kube-proxy
Lex
есть еще вот такой вот биндинг, его разве не достаточно?
$ kubectl get clusterrolebindings system:node-proxier -o yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
annotations:
rbac.authorization.kubernetes.io/autoupdate: "true"
creationTimestamp: 2018-04-20T20:23:23Z
labels:
kubernetes.io/bootstrapping: rbac-defaults
name: system:node-proxier
resourceVersion: "96"
selfLink: /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/system%3Anode-proxier
uid: acc5fed4-44d8-11e8-9b2e-12f98ec592fa
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: system:node-proxier
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: system:kube-proxy
Mikhail [azalio]
а запускаете вы как kube-proxy?
Lex
---
apiVersion: v1
kind: Config
clusters:
- cluster:
certificate-authority: /etc/kubernetes/ssl/ca.pem
server: https://{{ k8s_api_endpoint }}
name: {{ k8s_cluster_name }}
contexts:
- context:
cluster: {{ k8s_cluster_name }}
user: kube-prioxy
name: default
current-context: default
users:
- name: kube-proxy
user:
client-certificate: /etc/kubernetes/ssl/kube-proxy.pem
client-key: /etc/kubernetes/ssl/kube-proxy-key.pem
Etki
используйте, пожалуйста, сервисы вроде pastebin / x-paste / etc для длинных конфигов
Lex
хорошо, простите
Mikhail [azalio]
/etc/kubernetes/ssl/kube-proxy.pem а тут у вас и ключ и серт как я понимаю и все там верно.
Lex
cn: system:kube-proxy
Lex
хм, а не в этом ли проблема:
- name: kube-proxy
или это имя ни на что не влияет и не уходит api серверу?
Mikhail [azalio]
не должно
Mikhail [azalio]
в логах апи сервера нет подсказок?
Lex
ща буду смотреть, учитывая, что этот кластер Я задрачивал долго Я решил его снести и сделать с нуля, минут 15 и будет новый кластер, на нем и посмотрю
Lex
и еще, у меня докер 1.13.1-0~ubuntu-xenial, у для него надо с форвардингом приседать?
Mikhail [azalio]
проще проверить чем запомнить )
Lex
ну он filter FORWARD в DROP ставит
Mikhail [azalio]
ну вот - значит нужны?
Lex
ага
Lex
значит нужно
Sergey
может лучше докер запускать с iptables=false
Lex
может, но это уже когда стенд разверну, тогда и буду тестить
Lex
и да, есть смысл обновлять докер 1.13.1 и до какой версии если да?
Sergey
Lex
не подскажешь где найти этот список?
Lex
Я видел только не ниже какой-то версии и все
Sergey
https://kubernetes.io/docs/getting-started-guides/scratch/#docker
Sergey
ща
Denis
Я видел только не ниже какой-то версии и все
On each of your machines, install Docker. Version v1.12 is recommended, but v1.11, v1.13 and 17.03 are known to work as well. Versions 17.06+ might work, but have not yet been tested and verified by the Kubernetes node team
Sergey
какой релиз у тебя?
Sergey
1.10?
Sergey
ну тебе уже ответили
Lex
ок, у меня 1.13, емнип именно с докером на staging кластере проблем не было, так что живем
Lex
Lex
1.10?
ага, 1.10.1 если быть точнее
Sergey
ну с 1.13 проблем не наблюдал
Sergey
ну плюс
Sergey
set --iptables=false so docker will not manipulate iptables for host-ports (too coarse on older docker versions, may be fixed in newer versions) so that kube-proxy can manage iptables instead of docker.
--ip-masq=false
if you have setup PodIPs to be routable, then you want this false, otherwise, docker will rewrite the PodIP source-address to a NodeIP.
some environments (for example GCE) still need you to masquerade out-bound traffic when it leaves the cloud environment. This is very environment specific.
if you are using an overlay network, consult those instructions.
Sergey
Lex
да
Sergey
cri-containerd не пробовал?
Denis
Lex
неа, думал, но отсутсвие адекватных пакетов меня парит
Lex
это рантайм контейнерный
Lex
замена раздутому докеру
Sergey
лишнее выброшено
Denis
Lex
сначала с этим стендом закончу, потом уже буду тестить cri-containerd
Lex
там еще cri-o есть
Sergey
ну и cri-containerd постабильнее будет
Lex
ахз, Я пока туда вообще не лезу, оно ж бета по самое не балуй
Sergey
ну cri-containerd - это containerd с совместимым апи cri
Lex
ты сам кластер собираешь?
мне ж надо это дерьмо с hashicorp vault скрестить, у меня vault сертификаты генерит, туда-же секреты писать, а после тестов туда будут еще и инстансы из aws ags ходить и сами себе секреты вытягивать с сертификатами при скейлинге
Sergey