前提・実現したいこと
自宅のPC上でkubernetesの勉強をするためクラスタを作りました。
ingress-nginxをセットアップしており、controllerのデプロイはできて404は見れている状態なのですが、kind: ingressの設定をデプロイしようとするとtimeoutしてしまします。こちらの原因が分からず心当たりがある方がいらっしゃいましたら幸いです。
現在のおおまかな状態
初期セットアップを行い、metrics-serverを動かして全nodeのメトリクスが見れている状態です。
metallbをセットアップ後、以下の定義でLayer2モードに変更しています。
apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: config: | address-pools: - name: default protocol: layer2 addresses: - 192.168.30.130-192.168.30.159
- node:4台
- 各nodeは master / worker1 / worker2 / router の役割となっています
- kubeadmを使用して構築
- flannel v0.11.0
nodeのホストはすべてHyper-V上で起動しているVMで以下の構成です
- centos 7.8.2003
- docker 19.03.10
- kubeadm v1.18.3
- kubelet v1.18.3
nginx-controllerはrouterノードにデプロイしています。
versinは0.32.0です。
インストールは公式のマニュアルの以下yamlをダウンロード後、nodeの指定のあたりだけ修正したものをapplyしました。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-0.32.0/deploy/static/provider/cloud/deploy.yaml
# diff deploy.yaml my-ingress-nginx-0.32.0.yaml 410a411,416 > nodeSelector: > node-role.kubernetes.io/router: "" > tolerations: > - key: "node-role.kubernetes.io/router" > operator: "Exists" > effect: "NoSchedule"
この状態でingress-nginx-controllerのExternalIPにアクセスするとnginxの404のページが表示できています。
発生している問題・エラーメッセージ
以下のyamlをapply後、
apiVersion: apps/v1 kind: Deployment metadata: name: docker-hello-world labels: app: docker-hello-world spec: replicas: 3 selector: matchLabels: app: docker-hello-world template: metadata: labels: app: docker-hello-world spec: containers: - name: docker-hello-world image: scottsbaldwin/docker-hello-world:latest ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: docker-hello-world-svc spec: selector: app: docker-hello-world ports: - port: 8088 targetPort: 80 type: ClusterIP
こちらのyamlをapplyするとtimeoutしてしまいます。
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: hello-world-ing annotations: kubernetes.io/ingress.class: "nginx" spec: tls: - secretName: tls-secret rules: - http: paths: - backend: serviceName: docker-hello-world-svc servicePort: 8088
エラーですが、何パターンかあるんですがいずれもtimeoutしたといった内容です。
kube-apiserverのログです。
Failed calling webhook, failing closed validate.nginx.ingress.kubernetes.io: failed calling webhook "validate.nginx.ingress.kubernetes.io": Post https://ingress-nginx-controller-admission.ingress-nginx.svc:443/extensions/v1beta1/ingresses?timeout=30s: context deadline exceeded (Client.Timeout exceeded while awaiting headers) の場合とか、 Failed calling webhook, failing closed validate.nginx.ingress.kubernetes.io: failed calling webhook "validate.nginx.ingress.kubernetes.io": Post https://ingress-nginx-controller-admission.ingress-nginx.svc:443/extensions/v1beta1/ingresses?timeout=30s: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) の場合があります。 10回以上試しましたが同じでした。 なお、ingress-nginx-controllerにはapply後のログは特に出ておりませんでした。
こちら上記以上のエラーが見つけられず止まってしまいました。
心当たりある方がいらっしゃいましたらご助言いただけませんでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。