Kubeadm: certificado assinado por autoridade desconhecida - Rede Corporativa - Proxy

Criado em 22 jun. 2018  ·  4Comentários  ·  Fonte: kubernetes/kubeadm

É um pedido de ajuda?

SIM

Quais palavras-chave você pesquisou nos problemas do kubeadm antes de preencher este?

x509: certificado assinado por autoridade desconhecida - DENTRO DA REDE CORPORATIVA

Se você encontrou alguma duplicata, você deve responder lá e fechar esta página.

Se você não encontrou nenhuma duplicata, exclua esta seção e continue.

É um RELATÓRIO DE BUGS ou PEDIDO DE RECURSO?

Escolha um: RELATÓRIO DE ERRO ou SOLICITAÇÃO DE RECURSO

relatório de erro

Versões

versão kubeadm (use kubeadm version ): -1.10.4
kubeadm version: & version.Info {Major: "1", Minor: "10", GitVersion: "v1.10.4", GitCommit: "5ca598b4ba5abb89bb773071ce452e33fb66339d", GitTreeState: "clean", BuildDate: "2018-06-06T08:" 2018-06-06T08: 59Z ", GoVersion:" go1.9.3 ", Compilador:" gc ", Plataforma:" linux / amd64 "}

Meio Ambiente :

  • Versão do Kubernetes (use kubectl version ):
  • Provedor de nuvem ou configuração de hardware :
  • SO (por exemplo, de / etc / os-release):
    NAME = "CentOS Linux"
    VERSÃO = "7 (núcleo)"
    ID = "centos"
    ID_LIKE = "rhel fedora"
    VERSION_ID = "7"
    PRETTY_NAME = "CentOS Linux 7 (Core)"
    ANSI_COLOR = "0; 31"
    CPE_NAME = "cpe: / o: centos: centos : 7"
    HOME_URL = " https://www.centos.org/ "
    BUG_REPORT_URL = " https://bugs.centos.org/ "

CENTOS_MANTISBT_PROJECT = "CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION = "7"
REDHAT_SUPPORT_PRODUCT = "centos"
REDHAT_SUPPORT_PRODUCT_VERSION = "7"

  • Kernel (por exemplo, uname -a ):
    Linux kubem13.10.0-123.el7.x86_64 # 1 SMP Seg 30 de junho 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux
  • Outros :

O que aconteceu?

Gerando erro x509: certificado assinado por autoridade desconhecida

O que você esperava que acontecesse?

É necessário executar o kubeadm init sem nenhum erro

Como reproduzi-lo (da forma mais mínima e precisa possível)?

Mais alguma coisa que precisamos saber?

Configurei o proxy em vários arquivos.

.bash_profile
/ etc / environment
/etc/systemd/system/docker.service.d/http-proxy.conf

/etc/systemd/system/docker.service.d/http-proxy.conf

[Serviço]
Ambiente = "HTTP_PROXY = http: //:@: 8080 "
Ambiente = "HTTPS_PROXY = https: //:@: 8080 "
Ambiente = "NO_PROXY = localhost, 127.0.0.1,10.169.150.123"

/ etc / environment

exportar http_proxy = "http: //:@: 8080 "
export https_proxy = "https: //:@: 8080 "
exportar HTTP_PROXY = "http: //:@: 8080 "
export HTTPS_PROXY = "https: //:@: 8080 "
export no_proxy = "10.169.150.123,127.0.0.1, localhost"

IN Bash Perfil

exportar KUBECONFIG = / etc / kubernetes / admin.conf
exportar http_proxy = "http: //:@: 8080 "
export https_proxy = "https: //:@: 8080 "
exportar HTTP_PROXY = "http: //:@: 8080 "
export HTTPS_PROXY = "https: //:@: 8080 "
export no_proxy = "10.169.150.123,127.0.0.1, localhost"

Abriu as portas necessárias

cat / etc / sysconfig / iptables

-A ENTRADA -p tcp -m estado --estado NOVO -m tcp --dport 6443 -j ACEITAR
-A ENTRADA -p tcp -m estado --estado NOVO -m tcp --dport 2379-2380 -j ACEITAR
-A ENTRADA -p tcp -m estado --estado NOVO -m tcp --dport 10250 -j ACEITAR
-A ENTRADA -p tcp -m estado --estado NOVO -m tcp --dport 10251 -j ACEITAR
-A ENTRADA -p tcp -m estado --estado NOVO -m tcp --dport 10252 -j ACEITAR
-A ENTRADA -p tcp -m estado --estado NOVO -m tcp --dport 10255 -j ACEITAR
-A ENTRADA -p tcp -m estado --estado NOVO -m tcp --dport 8080 -j ACEITAR

e recarregue o firewall.

Também verifiquei com a desativação do firewall.

SELINUX desativado

######### Comentou KUBELET_NETWORK_ARGS

/etc/systemd/system/kubelet.service.d/10-kubeadm.conf

[Serviço]
Environment = "KUBELET_KUBECONFIG_ARGS = - bootstrap-kubeconfig = / etc / kubernetes / bootstrap-kubelet.conf --kubeconfig = / etc / kubernetes / kubelet.conf"
Environment = "KUBELET_SYSTEM_PODS_ARGS = - pod-manifest-path = / etc / kubernetes / manifests --allow-privileged = true"

Ambiente = "KUBELET_NETWORK_ARGS = - network-plugin = cni --cni-conf-dir = / etc / cni / net.d --cni-bin-dir = / opt / cni / bin"

Ambiente = "KUBELET_DNS_ARGS = - cluster-dns = 10.96.0.10 --cluster-domain = cluster.local"
Ambiente = "KUBELET_AUTHZ_ARGS = - authorisation-mode = Webhook --client-ca-file = / etc / kubernetes / pki / ca.crt"
Ambiente = "KUBELET_CADVISOR_ARGS = - cadvisor-port = 0"
Ambiente = "KUBELET_CGROUP_ARGS = - cgroup-driver = systemd"
Ambiente = "KUBELET_CERTIFICATE_ARGS = - rotate-certificates = true --cert-dir = / var / lib / kubelet / pki"
Ambiente = "KUBELET_EXTRA_ARGS = - fail-swap-on = false"
ExecStart =
ExecStart = / usr / bin / kubelet $ KUBELET_KUBECONFIG_ARGS $ KUBELET_SYSTEM_PODS_ARGS $ KUBELET_DNS_ARGS $ KUBELET_AUTHZ_ARGS $ KUBELET_CADVISOR_ARGS $ KUBELET_SYSTEM_PODS_ARGS $ KUBELET_DNS_ARGS $ KUBELET_AUTHZ_ARGS $ KUBELET_CADVISOR_ARGS $ KUBELET_CGROUPEARGS $ KUBELET_CGROUPEARGS $ KUBELET_CGROUPEARGS $ KUBELET_CGROUPEARGS $ KUBELET_CGROUPEARGS $ KUBELET_CGROUP_ARGS $ KUBELET_CGROUP_ARGS

Se eu correr passando a versão,

[ root @ kubem1 ~] # kubeadm init --kubernetes-version = v1.10.4
[init] Usando a versão do Kubernetes: v1.10.4
[init] Usando modos de autorização: [Node RBAC]
[preflight] Executando verificações pré-voo.
[AVISO HTTPProxyCIDR]: a conexão com "10.96.0.0/12" usa o proxy "https: // * * * * ". Isso pode levar ao mau funcionamento da configuração do cluster. Certifique-se de que os intervalos de IP de pod e serviços sejam especificados corretamente como exceções na configuração de proxy
[certificados] Certificado e chave de ca gerados.
[certificados] Certificado e chave apiserver gerados.
[certificados] apiserver servindo certificado é assinado para nomes DNS [kubem1kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] e IPs [10.96.0.1 10.169.150.123]
[certificados] Certificado e chave apiserver-kubelet-client gerados.
[certificados] Chave sa gerada e chave pública.
[certificados] Certificado e chave front-proxy-ca gerados.
[certificados] Certificado e chave do cliente proxy frontal gerados.
[certificados] Certificado e chave etcd / ca gerados.
[certificados] Certificado e chave etcd / servidor gerados.
[certificados] certificado de serviço de etcd / servidor é assinado para nomes DNS [localhost] e IPs [127.0.0.1]
[certificados] Certificado e chave etcd / peer gerados.
O certificado de serviço de [certificados] etcd / peer é assinado para nomes DNS [kubem1. * * ** ] e IPs [10.169.150.123]
[certificados] Certificado e chave etcd / healthcheck-client gerados.
[certificados] Certificado e chave apiserver-etcd-client gerados.
[certificados] Certificados e chaves válidos agora existem em "/ etc / kubernetes / pki"
[kubeconfig] Arquivo KubeConfig gravado no disco: "/etc/kubernetes/admin.conf"
[kubeconfig] Gravou o arquivo KubeConfig no disco: "/etc/kubernetes/kubelet.conf"
[kubeconfig] Arquivo KubeConfig gravado no disco: "/etc/kubernetes/controller-manager.conf"
[kubeconfig] Arquivo KubeConfig gravado no disco: "/etc/kubernetes/scheduler.conf"
[controlplane] Escreveu o manifesto do pod estático para o componente kube-apiserver em "/etc/kubernetes/manifests/kube-apiserver.yaml"
[controlplane] Escreveu o manifesto do pod estático para o componente kube-controller-manager em "/etc/kubernetes/manifests/kube-controller-manager.yaml"
[controlplane] Escreveu o manifesto do pod estático para o componente kube-scheduler em "/etc/kubernetes/manifests/kube-scheduler.yaml"
[etcd] Escreveu o manifesto do pod estático para uma instância local do etcd em "/etc/kubernetes/manifests/etcd.yaml"
[init] Aguardando o kubelet inicializar o plano de controle como pods estáticos do diretório "/ etc / kubernetes / manifests".
[init] Isso pode levar um minuto ou mais se as imagens do plano de controle tiverem que ser extraídas.

################ IN log de erros

22 de junho 04:31:34 kubem1. * * * * kubelet [7275]: E0622 04: 31: 34.942572 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Falha ao listar * v1.Pod: Obter https : //10.169.150.123 : 6443 / api / v1 / pods? FieldSelector = spec.nodeName% 3Dkubem1. * * * * & limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:35 kubem1. * * * * kubelet [7275]: E0622 04: 31: 35.888104 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: Falha ao listar * v1.Nó: Obter https: / /10.169.150.123 : 6443 / api / v1 / nodes? FieldSelector = metadata.name% 3Dkubem1. * * * * & limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:35 kubem1. * * * * kubelet [7275]: E0622 04: 31: 35.888256 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: Falha ao listar * v1.Serviço: Obter https: / /10.169.150.123 : 6443 / api / v1 / services? Limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:35 kubem1. * * * * kubelet [7275]: E0622 04: 31: 35.943992 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Falha ao listar v1.Pod: Obter https: //10.169.150.123 : 6443 / api / v1 / pods? FieldSelector = spec.nodeName% 3Dkubem1. * * * * & limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:36 kubem1. * * * * kubelet [7275]: E0622 04: 31: 36.889648 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: Falha ao listar * v1.Nó: Obter https: / /10.169.150.123 : 6443 / api / v1 / nodes? FieldSelector = metadata.name% 3Dkubem1. * * * * & limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:36 kubem1. * * * * kubelet [7275]: E0622 04: 31: 36.891490 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: Falha ao listar * v1.Serviço: Obter https: / /10.169.150.123 : 6443 / api / v1 / services? Limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:36 kubem1. * * * * kubelet [7275]: E0622 04: 31: 36.945185 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Falha ao listar v1.Pod: Obter https: //10.169.150.123 : 6443 / api / v1 / pods? FieldSelector = spec.nodeName% 3Dkubem1. * * * * & limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:37 kubem1. * * * * kubelet [7275]: E0622 04: 31: 37.890407 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: Falha ao listar * v1.Nó: Obter https: / /10.169.150.123 : 6443 / api / v1 / nodes? FieldSelector = metadata.name% 3Dkubem1. * * * * & limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:37 kubem1. * * * * kubelet [7275]: E0622 04: 31: 37.891696 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: Falha ao listar * v1.Serviço: Obter https: / /10.169.150.123 : 6443 / api / v1 / services? Limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:37 kubem1. * * * * kubelet [7275]: E0622 04: 31: 37.946023 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Falha ao listar v1.Pod: Obter https: //10.169.150.123 : 6443 / api / v1 / pods? FieldSelector = spec.nodeName% 3Dkubem1. * * * * & limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:38 kubem1. * * * * kubelet [7275]: E0622 04: 31: 38.121910 7275 eviction_manager.go: 247] gerenciador de despejo: falha ao obter estatísticas de resumo: falha ao obter informações do nó: nó "kubem1. * * * * " não encontrado
22 de junho 04:31:38 kubem1. * * * * kubelet [7275]: E0622 04: 31: 38.892292 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: Falha ao listar * v1.Nó: Obter https: / /10.169.150.123 : 6443 / api / v1 / nodes? FieldSelector = metadata.name% 3Dkubem1. * * * * & limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:38 kubem1. * * * * kubelet [7275]: E0622 04: 31: 38.894157 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: Falha ao listar * v1.Serviço: Obter https: / /10.169.150.123 : 6443 / api / v1 / services? Limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada
22 de junho 04:31:38 kubem1. * * * * kubelet [7275]: E0622 04: 31: 38.947002 7275 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Falha ao listar v1.Pod: Obter https: //10.169.150.123 : 6443 / api / v1 / pods? FieldSelector = spec.nodeName% 3Dkubem1. * * * * & limit = 500 & resourceVersion = 0: disque tcp 10.169.150.123:6443: getsockopt: conexão recusada

também adicionou /etc/resolve.conf

[ root @ kubem1 ~] # cat /etc/resolv.conf

Gerado por NetworkManager

domínio <>

pesquisar <>

nameserver <>

nameserver <>

nameserver 8.8.8.8
nameserver 8.8.4.4

Devo adicionar alguma entrada neste arquivo ??

Devo importar algum certificado?

ESTOU NO AMBIENTE PROXY

Também tentei o seguinte,

kubeadm reset
systemctl daemon-reload
systemctl restart docker.service
systemctl stop kubelet.service

As imagens abaixo não conseguiram puxar pela janela de encaixe.

docker pull k8s.gcr.io/kube-apiserver-amd64:v1.10.3
docker pull k8s.gcr.io/kube-controller-manager-amd64:v1.10.3
docker pull k8s.gcr.io/kube-scheduler-amd64:v1.10.3
docker pull k8s.gcr.io/etcd-amd64:3.1.12

kinbug prioritimportant-longterm

Comentários muito úteis

Aqui posso ver spec.nodeName=kubem1.***************** , que parece ser um FQDN editado. Por outro lado, em sua configuração de DNS, você não parece ter diretivas de domínio e pesquisa .

Os servidores DNS do Google são permitidos em sua rede? Você pode ter que entrar em contato com o administrador da rede local para obter mais informações sobre isso.

Além disso, se docker pull está falhando para você, pode ser devido a problemas de DNS. Qual é o erro que docker pull está apresentando?

k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list v1.Pod: Get https://10.169.150.123:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1.*****************&limit=500&resourceVersion=0: dial tcp 10.169.150.123:6443: getsockopt: connection refused

Todos 4 comentários

Aqui posso ver spec.nodeName=kubem1.***************** , que parece ser um FQDN editado. Por outro lado, em sua configuração de DNS, você não parece ter diretivas de domínio e pesquisa .

Os servidores DNS do Google são permitidos em sua rede? Você pode ter que entrar em contato com o administrador da rede local para obter mais informações sobre isso.

Além disso, se docker pull está falhando para você, pode ser devido a problemas de DNS. Qual é o erro que docker pull está apresentando?

k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list v1.Pod: Get https://10.169.150.123:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1.*****************&limit=500&resourceVersion=0: dial tcp 10.169.150.123:6443: getsockopt: connection refused

Eu editei isso para postar no github 'spec.nodeName = kubem1. * * * * * '

O DNS do Google não é permitido em nossa rede.

O pull do Docker está funcionando para o restante das imagens, mas o pull de "docker pull k8s.gcr.io/kube-apiserver-amd64:v1.10.3" não está funcionando.

Por favor, deixe-me saber se eu preciso fazer alguma modificação no arquivo de configuração.

/ assign @liztio

Fechando este problema devido à falta de instruções sólidas do reprodutor.
Abra novamente se ainda houver um problema.

Esta página foi útil?
0 / 5 - 0 avaliações