Maksim
а что для подов
Denis
flannel
Maksim
а настройкик аписервера
Maksim
для сервисов
Denis
а где их посмотреть?)
Maksim
у тебя сервисы то 10.95 то 10.106
𝚔𝚟𝚊𝚙𝚜
Расскажите какова логика удаления PersistentVolume?
При удалении его из k8s должен ли драйвер обрабатывать это действие, и физически удалять Volume из хранилки?
Maksim
да и поды почему то то 244 то 226
Denis
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
Denis
- --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
ну круто
bebebe
Denis
Maksim
ну теперь я примерно понимаю твою топологию
Maksim
отлично теперь поехали дебажить dns
Maksim
nslookup consul.sso.svc.cluster.local 10.96.0.10
Denis
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
nslookup consul.sso.svc.cluster.local 10.96.0.10
Denis
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
а где ты не видишь consul ?
Maksim
в подах?
Maksim
можешь дать kubectl exec <под который не видит consul> — cat /etc/resolv.conf
Denis
[root@openam /]# cat /etc/resolv.conf
nameserver 10.96.0.10
search sso.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
Denis
внтури пода
Denis
[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
Maksim
а пинг и не должен работать..icmp не пробрасывается
Maksim
правда резолва я то же не вижу
Denis
[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
а может ли telnet по кратким именам?
Denis
да, почему нет?
Maksim
так а попробуй fqdn
Maksim
ping consul.sso.svc.cluster.local
Maksim
из пода
Denis
[root@openam /]# ping consul.sso.svc.cluster.local
^C
[root@openam /]# telnet consul.sso.svc.cluster.local 8500
^C
Denis
пусто
Maksim
оки
Maksim
telnet 10.96.0.10 53
Denis
[root@openam /]# telnet 10.96.0.10 53
Trying 10.96.0.10...
Maksim
вот и ответ
Maksim
ping 10.244.0.184
Etki
Denis
kube-dns только на определенный namespace?
Maksim
В теории нет
Maksim
там зависит от ключей при старте
Maksim
ну и от настроек SDN
Maksim
и netwrokpolixy
Denis
ок спасибо, буду думать
Maksim
ping 10.244.0.184
Maksim
из пода-)
Maksim
я не закончил тебя мучать
Maksim
/
Denis
не пингует
[root@openam /]# ping 10.244.0.184
PING 10.244.0.184 (10.244.0.184) 56(84) bytes of data.
^C
Maksim
ооо
Maksim
это под с dns
Maksim
У тебя нет сетевой связанности между подами
Denis
может попробывать его в kube-system запихнуть
Й
Maksim
Спасибо за аналитику....только там нет сетевой связанности от пода с днс до пода с openam
Maksim
А вообще там два типа и udp и tcp
Maksim
На ДНС и оба 53-)
Maksim
Ну это так)
Maksim
udp порт резолва tcp порт обмена зонами
Andor
не совсем правда
Andor
но не принципиально
Anton
Anton
https://kubernetes.io/docs/concepts/storage/storage-classes/
Anton
ну и в statefulset pvc не удаляются автоматом, это помните думаю
𝚔𝚟𝚊𝚙𝚜
да, но вопрос был скорее про pv, а не про pvc, то есть если я делаю
kubectl delete pv <my_volume>должен ли provisioner отработать это действие и удалить этот том непосредственно в моем хранилище?
Anton
шашечки и поездка
снаряжать авианосец ради поездки дамы с собачкой это не про шашечки
Etki
дама с собачкой вот уже второй день как могла отплыть
Denis
У тебя нет сетевой связанности между подами
Спасибо получилось победить, убрал в сервисе NodePort, и сервисы стали резолвится.
Единственное осталось с присвоением домена 3-ого уровня, пример consul.example.com ( example.com ) - где его прописать можно?
Maksim
https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns
Maksim
MRY
Всем привет
MRY
Я все с той же проблемой воюю
MRY
Никак не могу победить сертификаты для etcd
MRY
Делал уже по оф гайду
MRY
https://kubernetes.io/docs/setup/independent/high-availability/
MRY
Никак не принимает