Установка руля на миникубе возвращает ошибку

Я следовал за шагами как описано в этой ссылке.

Когда я нахожусь на секции helm install (Шаг 2) и пытаемся запустить:

helm install --name web ./demo

Я получаю следующую ошибку:

Получить https://10.96.0.1/version?timeout=32s: набрать tcp 10.96.0.1:443: тайм-аут ввода-вывода

Ожидаемый результат: следует установить и развернуть диаграмму.

1 ответ

Эта проблема относится к вашей конфигурации kubernetes, а не к вашему рулю. Предположим, вы также не можете видеть выходные данные других команд helm, таких как helm list, и т.д.

Многие люди имеют эту проблему из-за не правильно настроенного CNI(как правило, это ситцевая). И иногда это происходит из-за вашего отсутствия в kubeconfig.

Решения:

  • мигрировать из ситца во фланель

  • Изменить --pod-network-cidr для ситца из 192.168.0.0/16 to 172.16.0.0/16 при использовании kubeadm для инициализации кластера, как kubeadm init --pod-network-cidr=172.16.0.0

Более подробную информацию вы можете найти по аналогичной проблеме с github helm

Простой пример для одной машины:

1) kubeadm init --pod-network-cidr=172.16.0.0/16

2) kubectl taint nodes --all node-role.kubernetes.io/master-

3) kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml

configmap/calico-config created
customresourcedefinition.apiextensions.k8s.io/felixconfigurations.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/ipamblocks.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/blockaffinities.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/ipamhandles.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/ipamconfigs.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/bgppeers.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/bgpconfigurations.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/ippools.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/hostendpoints.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/clusterinformations.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/globalnetworkpolicies.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/globalnetworksets.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/networkpolicies.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/networksets.crd.projectcalico.org created
clusterrole.rbac.authorization.k8s.io/calico-kube-controllers created
clusterrolebinding.rbac.authorization.k8s.io/calico-kube-controllers created
clusterrole.rbac.authorization.k8s.io/calico-node created
clusterrolebinding.rbac.authorization.k8s.io/calico-node created
daemonset.apps/calico-node created
serviceaccount/calico-node created
deployment.apps/calico-kube-controllers created
serviceaccount/calico-kube-controllers created

4) установить руль

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
helm init --service-account tiller

5) создать и установить график

$ helm create demo
Creating demo
$ helm install --name web ./demo
NAME:   web
LAST DEPLOYED: Tue Jul 16 10:44:15 2019
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/Deployment
NAME      READY  UP-TO-DATE  AVAILABLE  AGE
web-demo  0/1    1           0          0s

==> v1/Pod(related)
NAME                       READY  STATUS             RESTARTS  AGE
web-demo-6986c66d7d-vctql  0/1    ContainerCreating  0         0s

==> v1/Service
NAME      TYPE       CLUSTER-IP      EXTERNAL-IP  PORT(S)  AGE
web-demo  ClusterIP  10.106.140.176  <none>       80/TCP   0s


NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=demo,app.kubernetes.io/instance=web" -o jsonpath="{.items[0].metadata.name}")
  echo "Visit http://127.0.0.1:8080 to use your application"
  kubectl port-forward $POD_NAME 8080:80

6) приводят

$ kubectl get all
NAME                            READY   STATUS    RESTARTS   AGE
pod/web-demo-6986c66d7d-vctql   1/1     Running   0          75s


NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.96.0.1        <none>        443/TCP   11m
service/web-demo     ClusterIP   10.106.140.176   <none>        80/TCP    75s


NAME                       READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/web-demo   1/1     1            1           75s

NAME                                  DESIRED   CURRENT   READY   AGE
replicaset.apps/web-demo-6986c66d7d   1         1         1       75s

Более подробную информацию о том, как настроить helm и kubernetes, можно найти в статье " Начало работы с Kubernetes, используя Minikube".

Другие вопросы по тегам