Это в основном говорит о том, что ваш cornns pod не может общаться с kube-apiserver.Kube-apiserver предоставляется в модуле через следующие переменные среды: KUBERNETES_SERVICE_HOST=10.96.0.1
и KUBERNETES_SERVICE_PORT_HTTPS=443
Я считаю, что отправленные вами маршруты являются маршрутами на хосте, так как это то, что вы получаете при запуске ip routes
в контейнере pod:
root@xxxx-xxxxxxxxxx-xxxxx:/# ip route
default via 169.254.1.1 dev eth0
169.254.1.1 dev eth0 scope link
root@xxxx-xxxxxxxxxx-xxxxx:/#
В любом случае вы не увидите 10.96.0.1
, поскольку он выставлен в кластере с использованием iptables.Так что это за адрес?Бывает, что service
в пространстве имен по умолчанию называется kubernetes
.Эта служба ClusterIP
имеет значение 10.96.0.1
и прослушивает порт 443
, она также отображается на targetPort
6443
, где работает ваш kube-apiserver.
Поскольку вы можете развертывать модули,и т.д. Кажется, что куб-аписервер не выключен, и это не ваша проблема.Поэтому, скорее всего, вам не хватает этого сервиса (или есть какое-то приемлемое правило, запрещающее вам подключаться к нему).Вы можете увидеть это здесь, например:
$ kubectl get svc kubernetes
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 92d
Полный вывод выглядит примерно так:
$ kubectl get svc kubernetes -o=yaml
apiVersion: v1
kind: Service
metadata:
creationTimestamp: 2018-07-23T21:10:22Z
labels:
component: apiserver
provider: kubernetes
name: kubernetes
namespace: default
resourceVersion: "24"
selfLink: /api/v1/namespaces/default/services/kubernetes
uid: xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
spec:
clusterIP: 10.96.0.1
ports:
- name: https
port: 443
protocol: TCP
targetPort: 6443
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
Так что, если вам его не хватает, вы можете создать его так:
cat <<EOF
apiVersion: v1
kind: Service
metadata:
labels:
component: apiserver
provider: kubernetes
name: kubernetes
namespace: default
spec:
clusterIP: 10.96.0.1
ports:
- name: https
port: 443
protocol: TCP
targetPort: 6443
sessionAffinity: None
type: ClusterIP
EOF | kubectl apply -f -