@kubernetes_ru

Страница 483 из 958
Denis
21.03.2018
11:27:42
есть все работает

Maksim
21.03.2018
11:27:48
дай kube-system

и сделай в него nslookup consul.sso.svc.cluster.local

и конфиг кублета

Google
Denis
21.03.2018
11:29:15
NAME READY STATUS RESTARTS AGE IP etcd-dev-kbr01.mgts.corp.net 1/1 Running 0 5d 10.226.212.117 kube-apiserver-dev-kbr01.mgts.corp.net 1/1 Running 0 5d 10.226.212.117 kube-controller-manager-dev-kbr01.mgts.corp.net 1/1 Running 0 5d 10.226.212.117 kube-dns-6f4fd4bdf-25hlm 3/3 Running 0 5d 10.244.0.184 kube-flannel-ds-4bntd 2/2 Running 0 5d 10.226.212.117 kube-flannel-ds-6znwh 2/2 Running 0 5d 10.226.212.165 kube-proxy-d9kdk 1/1 Running 0 5d 10.226.212.165 kube-proxy-l4bgq 1/1 Running 0 5d 10.226.212.117 kube-scheduler-dev-kbr01.mgts.corp.net 1/1 Running 0 5d 10.226.212.117 kubernetes-dashboard-84d9c99896-5bbrt 1/1 Running 0 5d 10.244.0.183

Maksim
21.03.2018
11:30:08
А сервис где?

Denis
21.03.2018
11:30:48
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 5d kubernetes-dashboard NodePort 10.105.136.228 10.226.212.117 443:30579/TCP 5d

Maksim
21.03.2018
11:32:24
конфу сетей..

Denis
21.03.2018
11:33:20
cat flannel-rbac.yaml # Create the clusterrole and clusterrolebinding: # $ kubectl create -f kube-flannel-rbac.yml # Create the pod using the same namespace used by the flannel serviceaccount: # $ kubectl create --namespace kube-system -f kube-flannel.yml --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: flannel rules: - apiGroups: - "" resources: - pods verbs: - get - apiGroups: - "" resources: - nodes verbs: - list - update - watch --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: flannel roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: flannel subjects: - kind: ServiceAccount name: flannel namespace: kube-system

Maksim
21.03.2018
11:33:32
это не то

нужно конфа сетей. что ты используешься для сервисов

а что для подов

Denis
21.03.2018
11:34:03
flannel

cat flannel.yaml --- apiVersion: v1 kind: ServiceAccount metadata: name: flannel namespace: kube-system --- kind: ConfigMap apiVersion: v1 metadata: name: kube-flannel-cfg namespace: kube-system labels: tier: node app: flannel data: cni-conf.json: | { "name": "cbr0", "type": "flannel", "delegate": { "isDefaultGateway": true } } net-conf.json: | { "Network": "10.244.0.0/16", "Backend": { "Type": "vxlan" } } --- apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: kube-flannel-ds namespace: kube-system labels: tier: node app: flannel spec: template: metadata: labels: tier: node app: flannel spec: hostNetwork: true nodeSelector: beta.kubernetes.io/arch: amd64 tolerations: - key: node-role.kubernetes.io/master effect: NoSchedule serviceAccountName: flannel containers: - name: kube-flannel image: quay.io/coreos/flannel:v0.7.0-amd64 command: [ "/opt/bin/flanneld", "--ip-masq", "--kube-subnet-mgr" ] securityContext: privileged: true env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace volumeMounts: - name: run mountPath: /run - name: flannel-cfg mountPath: /etc/kube-flannel/ - name: install-cni image: quay.io/coreos/flannel:v0.7.0-amd64 command: [ "/bin/sh", "-c", "set -e -x; cp -f /etc/kube-flannel/cni-conf.json /etc/cni/net.d/10-flannel.conf; while true; do sleep 3600; done" ] volumeMounts: - name: cni mountPath: /etc/cni/net.d - name: flannel-cfg mountPath: /etc/kube-flannel/ volumes: - name: run hostPath: path: /run - name: cni hostPath: path: /etc/cni/net.d - name: flannel-cfg configMap: name: kube-flannel-cfg

Maksim
21.03.2018
11:34:54
а настройкик аписервера

для сервисов

Denis
21.03.2018
11:36:53
а где их посмотреть?)

Google
Maksim
21.03.2018
11:37:08
у тебя сервисы то 10.95 то 10.106

kvaps
21.03.2018
11:37:28
Расскажите какова логика удаления PersistentVolume? При удалении его из k8s должен ли драйвер обрабатывать это действие, и физически удалять Volume из хранилки?

Maksim
21.03.2018
11:37:34
да и поды почему то то 244 то 226

Denis
21.03.2018
11:39:13
apiVersion: v1 kind: Pod metadata: annotations: kubernetes.io/config.hash: a17606eeb7a12d8324b7525b083b03ec kubernetes.io/config.mirror: a17606eeb7a12d8324b7525b083b03ec kubernetes.io/config.seen: 2018-03-16T04:18:30.084705002+03:00 kubernetes.io/config.source: file scheduler.alpha.kubernetes.io/critical-pod: "" creationTimestamp: 2018-03-16T01:20:07Z labels: component: kube-apiserver tier: control-plane name: kube-apiserver-dev-kbr01 namespace: kube-system resourceVersion: "404" selfLink: /api/v1/namespaces/kube-system/pods/kube-apiserver-dev-kbr01 uid: 29a9e7b0-28b8-11e8-a2c0-0050568c28f4 spec: containers: - command: - kube-apiserver - --allow-privileged=true - --service-account-key-file=/etc/kubernetes/pki/sa.pub - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key - --advertise-address=10.226.212.117 - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key - --admission-control=Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,ResourceQuota - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname - --client-ca-file=/etc/kubernetes/pki/ca.crt - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt - --service-cluster-ip-range=10.96.0.0/12 - --secure-port=6443 - --insecure-port=0 - --enable-bootstrap-token-auth=true - --requestheader-username-headers=X-Remote-User - --requestheader-group-headers=X-Remote-Group - --requestheader-extra-headers-prefix=X-Remote-Extra- - --requestheader-allowed-names=front-proxy-client - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt - --authorization-mode=Node,RBAC - --etcd-servers=http://127.0.0.1:2379 env: image: gcr.io/google_containers/kube-apiserver-amd64:v1.9.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 8 httpGet: host: 10.226.212.117 path: /healthz port: 6443 scheme: HTTPS initialDelaySeconds: 15 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 15 name: kube-apiserver resources: requests: cpu: 250m terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/kubernetes/pki name: k8s-certs readOnly: true - mountPath: /etc/ssl/certs name: ca-certs readOnly: true - mountPath: /etc/pki name: ca-certs-etc-pki readOnly: true dnsPolicy: ClusterFirst hostNetwork: true nodeName: dev-kbr01 restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute operator: Exists spec: containers: - command: - kube-apiserver - --allow-privileged=true - --service-account-key-file=/etc/kubernetes/pki/sa.pub - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key - --advertise-address=10.226.212.117 - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key - --admission-control=Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,ResourceQuota - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname - --client-ca-file=/etc/kubernetes/pki/ca.crt - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt - --service-cluster-ip-range=10.96.0.0/12 - --secure-port=6443 - --insecure-port=0 - --enable-bootstrap-token-auth=true

- --requestheader-username-headers=X-Remote-User - --requestheader-group-headers=X-Remote-Group - --requestheader-extra-headers-prefix=X-Remote-Extra- - --requestheader-allowed-names=front-proxy-client - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt - --authorization-mode=Node,RBAC - --etcd-servers=http://127.0.0.1:2379 env: image: gcr.io/google_containers/kube-apiserver-amd64:v1.9.4 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 8 httpGet: host: 10.226.212.117 path: /healthz port: 6443 scheme: HTTPS

Maksim
21.03.2018
11:39:42
ну круто

Denis
21.03.2018
11:41:16
Maksim
21.03.2018
11:41:36
ну теперь я примерно понимаю твою топологию

отлично теперь поехали дебажить dns

nslookup consul.sso.svc.cluster.local 10.96.0.10

Denis
21.03.2018
11:43:01
nslookup kubernetes.default.svc.cluster.local 10.96.0.10 Server: 10.96.0.10 Address: 10.96.0.10#53 Name: kubernetes.default.svc.cluster.local Address: 10.96.0.1

Maksim
21.03.2018
11:43:25
nslookup consul.sso.svc.cluster.local 10.96.0.10

Denis
21.03.2018
11:43:38
nslookup consul.sso.svc.cluster.local 10.96.0.10 Server: 10.96.0.10 Address: 10.96.0.10#53 Name: consul.sso.svc.cluster.local Address: 10.102.125.25

Maksim
21.03.2018
11:50:27
а где ты не видишь consul ?

в подах?

можешь дать kubectl exec <под который не видит consul> — cat /etc/resolv.conf

Denis
21.03.2018
11:53:26
[root@openam /]# cat /etc/resolv.conf nameserver 10.96.0.10 search sso.svc.cluster.local svc.cluster.local cluster.local options ndots:5

внтури пода

[root@openam /]# ping consul ^C [root@openam /]# env|grep CONSUL CONSUL_SERVICE_PORT_CONSUL=8500 CONSUL_SERVICE_HOST=10.102.125.25 CONSUL_PORT_8500_TCP_ADDR=10.102.125.25 CONSUL_PORT_8500_TCP=tcp://10.102.125.25:8500 CONSUL_PORT_8500_TCP_PORT=8500 CONSUL_PORT_8500_TCP_PROTO=tcp CONSUL_PORT=tcp://10.102.125.25:8500 CONSUL_SERVICE_PORT=8500

Google
Maksim
21.03.2018
11:55:00
а пинг и не должен работать..icmp не пробрасывается

правда резолва я то же не вижу

Denis
21.03.2018
11:55:14
[root@openam /]# telnet 10.102.125.25 8500 Trying 10.102.125.25... Connected to 10.102.125.25. Escape character is '^]'. ^Cquit Connection closed by foreign host. [root@openam /]# telnet consul 8500 ^C

Maksim
21.03.2018
11:56:37
а может ли telnet по кратким именам?

Denis
21.03.2018
11:57:16
да, почему нет?

Maksim
21.03.2018
11:57:18
так а попробуй fqdn

ping consul.sso.svc.cluster.local

из пода

Denis
21.03.2018
11:58:41
[root@openam /]# ping consul.sso.svc.cluster.local ^C [root@openam /]# telnet consul.sso.svc.cluster.local 8500 ^C

пусто

Maksim
21.03.2018
11:58:53
оки

telnet 10.96.0.10 53

Denis
21.03.2018
11:59:57
[root@openam /]# telnet 10.96.0.10 53 Trying 10.96.0.10...

Maksim
21.03.2018
12:00:16
вот и ответ

ping 10.244.0.184

Denis
21.03.2018
12:00:51
kube-dns только на определенный namespace?

Maksim
21.03.2018
12:01:07
В теории нет

там зависит от ключей при старте

ну и от настроек SDN

Google
Maksim
21.03.2018
12:01:46
и netwrokpolixy

Denis
21.03.2018
12:02:57
ок спасибо, буду думать

Maksim
21.03.2018
12:03:23
ping 10.244.0.184

из пода-)

я не закончил тебя мучать

/

Denis
21.03.2018
12:04:04
не пингует [root@openam /]# ping 10.244.0.184 PING 10.244.0.184 (10.244.0.184) 56(84) bytes of data. ^C

Maksim
21.03.2018
12:04:32
ооо

это под с dns

У тебя нет сетевой связанности между подами

Denis
21.03.2018
12:04:55
может попробывать его в kube-system запихнуть

Vasilyev
21.03.2018
12:05:00
[root@openam /]# telnet 10.96.0.10 53 Trying 10.96.0.10...
Вы к udp порту пытаетесь подключиться по tcp

Maksim
21.03.2018
12:06:26
Спасибо за аналитику....только там нет сетевой связанности от пода с днс до пода с openam

А вообще там два типа и udp и tcp

На ДНС и оба 53-)

Ну это так)

udp порт резолва tcp порт обмена зонами

Andor
21.03.2018
12:08:39
не совсем правда

но не принципиально

Google
Anton
21.03.2018
12:09:35
https://kubernetes.io/docs/concepts/storage/storage-classes/

ну и в statefulset pvc не удаляются автоматом, это помните думаю

kvaps
21.03.2018
12:14:09
да, но вопрос был скорее про pv, а не про pvc, то есть если я делаю kubectl delete pv <my_volume>должен ли provisioner отработать это действие и удалить этот том непосредственно в моем хранилище?

Anton
21.03.2018
12:19:26
шашечки и поездка
снаряжать авианосец ради поездки дамы с собачкой это не про шашечки

Fike
21.03.2018
12:19:58
дама с собачкой вот уже второй день как могла отплыть

Denis
21.03.2018
14:06:49
У тебя нет сетевой связанности между подами
Спасибо получилось победить, убрал в сервисе NodePort, и сервисы стали резолвится. Единственное осталось с присвоением домена 3-ого уровня, пример consul.example.com ( example.com ) - где его прописать можно?

Maksim
21.03.2018
14:07:38
https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns

Страница 483 из 958