Kubeadm: рдХрд╣рд╛рдБ рд╕реЗ kubeadm рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд▓реЗрддрд╛ рд╣реИ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдЬреВрди 2017  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: kubernetes/kubeadm

рдпрд╣ / etc / environment рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╡рд░реНрддрдорд╛рди bash session рдирд╣реАрдВ рд╣реИ рдЬреЛ kubeadm рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдпрд╣ docker рдпрд╛ kubelet рд╡рд╛рддрд╛рд╡рд░рдг рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдЗрди рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ no_proxy рдХреЛ рдПрдХ рдЕрд▓рдЧ рдореВрд▓реНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рдФрд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ kubeadm init рднреА no_proxy рд▓рд┐рдП рдПрдХ рдФрд░ рдорд╛рди рд╕реЗрдЯ рдХрд░рдирд╛ рдЬрд╛рд░реА рд╣реИред рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ, рдбреЗрдореЙрди-рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ, рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рд╕реЗ рд╕рднреА рдЙрд╕ рддрдереНрдп рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ "рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ fo.oo.ba.rr рд▓рд╛рдЗрди рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рд╣реИ" рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ, рдмрдЬрд╛рдп рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рд╕реЗ рдореВрд▓реНрдп рд▓реЗрддрд╛ рд╣реИред рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ / etc / рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗ рдореВрд▓реНрдп рдХреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдкрдврд╝рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯрд┐рдВрдЧ, рдпрд╛ рд╡рд░реНрддрдорд╛рди рдмреИрд╢ рд╕рддреНрд░, рдЬрд┐рд╕рдореЗрдВ рдореИрдВ kubeadm рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ, рд╕рддреНрдп рдХрд╛ рдПрдХ рд╕рдЪреНрдЪрд╛ рд╕реНрд░реЛрдд рд╣реИ, рдЬреЛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рд╣реИ?

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:

  1. kubeadm рд╡рд░реНрддрдорд╛рди env рдЪрд░ http_proxy рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред (рдпрд╛ https_proxy рдЕрдЧрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрдЪрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)
  2. kubeadm рдореМрдЬреВрджрд╛ env рд╡реИрд░рд┐рдПрдмрд▓ HTTP_PROXY рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рдпрд╣ рдЕрд▓рдЧ рд╣реИ рддреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИред
  3. kubeadm http_proxy in / etc / рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЕрд▓рдЧ рд╣реЛрдиреЗ рдкрд░ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИред
  4. рдКрдкрд░реА рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдиред
  5. рдпрджрд┐ рди рддреЛ рд╕рдВрджрд░реНрдн рдореЗрдВ рди рддреЛ рдЪрд░ рд╣реИ, рддреЛ рдпрд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдкреНрд░реЙрдХреНрд╕реА рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред
  6. kubeadm рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓реНрд╕ рд▓рд┐рдЦрддрд╛ рд╣реИ (рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рджрд┐рдП рдЧрдП рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде, рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реИ, рдлрд┐рд░ рдКрдкрд░реА рдорд╛рдорд▓рд╛, рдлрд┐рд░ рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ / рдЖрджрд┐ / рдкрд░реНрдпрд╛рд╡рд░рдг, рдлрд┐рд░ рдКрдкрд░реА рдорд╛рдорд▓реЗ / рдЖрджрд┐ред /рд╡рд╛рддрд╛рд╡рд░рдгред
  7. рдХреБрдмреЗрджрдо рдлрд▓реА рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
  8. kubeadm рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдирд┐рдпрдВрддреНрд░рдХ-рдкреНрд░рдмрдВрдзрдХ рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рд╕реЗ рдмрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ "рдирд┐рд╖рд┐рджреНрдз" рдпрд╛ "рдЯрд╛рдЗрдордЖрдЙрдЯ" рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЧрд▓рдд рд╣реИрдВ рдФрд░ рдЗрд░реЛрдЬрд╝ , рдПрдХ kubeadm reset рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред
  9. рдРрд╕реА рдХреЛрдИ рдШрдЯрдирд╛ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдБ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╣рдореЗрд╢рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗред рдЕрдЧрд░ рд╕рд░реНрд╡рд░ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ-рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд▓реЙрдЧ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ, рддреЛ рдХрдо рд╕реЗ рдХрдо рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде> = 10 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирдпрд╛ рд▓реЙрдЧ рднреА рд╣реИрдВред рдФрд░ рдлрд┐рд░ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
  10. kubeadm рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреВрд░реНрд╡ pends рд╕рдм рдкрддреЛрдВ рдХреЛ рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд no_proxy рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдЕрдВрдд рдЬреЛрдбрд╝рдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдЯреМрддреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред <- рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╣реЛрд╕реНрдЯрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ no_proxy рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, рди рдХрд┐ рдЖрдИрдкреАред

рдореИрдВ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╡реНрдпрдХреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдиреЗ рдШрдВрдЯреЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрджреНрдпрдо рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдмрдЪрд╛рдПрдЧрд╛ред

help wanted prioritbacklog

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ NO_PROXY рдореЗрдВ рдЕрдкрдиреЗ рд╕рднреА рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб IPs рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдкрд░ рд╕рднреА minions рдкрд░ рд╕рдорд╛рди NO_PROXY рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ "рдареАрдХ" рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

$ рдирд┐рд░реНрдпрд╛рдд NO_PROXY = 'ip, ip, ip, ip, .example.com'
[рдорд╛рд╕реНрдЯрд░] $ kubeadm init
[minion] $ kubeadm join --token = {token} abcd: 6443

рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рднреА рдЖрдИрдкреА рдкрддреЗ enumerated рдпрд╛ .example.com рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╕рднреА 13 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@erikbgithub рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!
рд╕рд╛рдордиреЗ рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рдХреЛрдИ рдкреНрд░реЙрдХреНрд╕реА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдРрд╕реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдмрд╣реБрдд рдкреНрд░рдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рдЯреАрдХ рдХрдердиреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдЖрдк рдПрдХ рдЫрджреНрдо рдХреЗ рдкреАрдЫреЗ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП kubeadm рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЕрдкрдиреЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЧреЛ рдХреЛрдб рд╣реИ:
https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/phases/controlplane/manifests.go#L432

func getProxyEnvVars() []v1.EnvVar {
    envs := []v1.EnvVar{}
    for _, env := range os.Environ() {
        pos := strings.Index(env, "=")
        if pos == -1 {
            // malformed environment variable, skip it.
            continue
        }
        name := env[:pos]
        value := env[pos+1:]
        if strings.HasSuffix(strings.ToLower(name), "_proxy") && value != "" {
            envVar := v1.EnvVar{Name: name, Value: value}
            envs = append(envs, envVar)
        }
    }
    return envs
}

https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/preflight/checks.go#L291

// HTTPProxyCheck checks if https connection to specific host is going
// to be done directly or over proxy. If proxy detected, it will return warning.
type HTTPProxyCheck struct {
    Proto string
    Host  string
    Port  int
}

func (hst HTTPProxyCheck) Check() (warnings, errors []error) {

    url := fmt.Sprintf("%s://%s:%d", hst.Proto, hst.Host, hst.Port)

    req, err := http.NewRequest("GET", url, nil)
    if err != nil {
        return nil, []error{err}
    }

    proxy, err := http.DefaultTransport.(*http.Transport).Proxy(req)
    if err != nil {
        return nil, []error{err}
    }
    if proxy != nil {
        return []error{fmt.Errorf("Connection to %q uses proxy %q. If that is not intended, adjust your proxy settings", url, proxy)}, nil
    }
    return nil, nil
}

рдореИрдВ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╡реНрдпрдХреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдиреЗ рдШрдВрдЯреЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрджреНрдпрдо рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдмрдЪрд╛рдПрдЧрд╛ред

рдЕрдзрд┐рдХ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛ рд╕рдХрд╛

рд╕реАрд╕реА @kad @timothysc

@ рд▓рдХреНрд╕рд╕ рдереИрдВрдХреНрд╕ рдореИрдВ рдЙрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░реВрдБрдЧрд╛ рдЬрдм рдореБрдЭреЗ рдПрдХ рдЧреЛрд▓

рдкрд╣рд▓рд╛ рдЙрдк-рдкреНрд░рд╢реНрди рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ os.Environ() рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИред

@erikbgithub рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдкреИрдЪ рдмрдирд╛рдиреЗ рдореЗрдВ рдХреБрдЫ рдорджрдж рдЪрд╛рд╣рд┐рдП рдФрд░ рдореИрдВ рдорджрдж рдХрд░реВрдВрдЧрд╛

рдЙрд╕ рдЬрд╛рдБрдЪ рдХреЗ рдореВрд▓ рд▓реЗрдЦрдХ рдХреЗ рд░реВрдк рдореЗрдВ @erikbgithub , рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдкрд╣рд▓реЗ рдХреБрдЫ рдЬрд╡рд╛рдм:

  • kubeadm рдЖрдкрдХреЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╕рддреНрд░ рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд╛рдВрдЪрддрд╛ рд╣реИред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ $ env | grep -i _proxy= | sort рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рдЕрдВрджрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реИ:
    !shell $ env | grep -i _proxy= | sort ALL_PROXY=http://proxy-ir.example.com:911 FTP_PROXY=http://proxy-ir.example.com:911 HTTPS_PROXY=http://proxy-ir.example.com:911 HTTP_PROXY=http://proxy-ir.example.com:911 NO_PROXY=.example.com all_proxy=http://proxy-ir.example.com:911 ftp_proxy=http://proxy-ir.example.com:911 http_proxy=http://proxy-ir.example.com:911 https_proxy=http://proxy-ir.example.com:911 no_proxy=.example.com $
  • рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдЗрд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдП рдмрд┐рдирд╛ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдХрд┐ no_proxy рдЪрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП NO_PROXY=10.0.0.0/8, 192.168.0.0/16 рддрд░рд╣ рдХреБрдЫ рдбрд╛рд▓рдиреЗ рд╕реЗ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ рдФрд░ рдЕрднреА рднреА рдкреНрд░реА-рдлрд╝реНрд▓рд╛рдЗрдЯ рдЪреЗрдХ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛ред
  • рдКрдкрд░реА / рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдХреЗ рдмреАрдЪ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЕрдВрддрд░ рдЧреЛ рдХреЛрдб рдЬреЛ рдкреНрд░реЙрдХреНрд╕реА рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЖрдВрддрд░рд┐рдХ рддрд░реНрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рдЗрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рдпрд╛рдж рд╣реИ, рдкрд╣рд▓реЗ рдЕрдкрд░ рдХреЗрд╕, рдлрд┐рд░ рд▓реЛрдЕрд░ рдХреЗрд╕, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, рдЖрдк рдЗрд╕ рдмрд╛рдд рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдРрдк рдЙрдиреНрд╣реЗрдВ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ)
  • / etc / рдкрд░реНрдпрд╛рд╡рд░рдг рдЬреИрд╕реА рдлрд╛рдЗрд▓реЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмрд╛рдЗрдирд░реА рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдкрдврд╝реА рдЬрд╛рддреА рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рд▓реЙрдЧрд┐рди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, PAM рдореЙрдбреНрдпреВрд▓ рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЛрд╕реЗрд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рдкрдврд╝рд╛ рдФрд░ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рднреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SSH рд╕рддреНрд░реЛрдВ рд╕реЗ рдпрд╛ рдмрд╛рд╣рд░реА рдкреНрд░рдмрдВрдзрди рдЙрдкрдХрд░рдгреЛрдВ (рдЬреИрд╕реЗ ansible) рд╕реЗ рдЕрдиреНрдп рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рдмреБрд▓рд╛рдХрд░, рдЬреИрд╕реЗ kubeadm рд╕реЗ рдЖ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ / рдЖрджрд┐ / рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣реЗрдВ рдпрд╛ рд╕рдорд╛рди рди рддреЛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рди рд╣реА рддрд╛рд░реНрдХрд┐рдХред
  • 8 рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП, рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ рдЪреЗрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рдХреБрдмреЗрджрдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░реЙрдХреНрд╕реА рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╢реБрд░реВ рдореЗрдВ рдЗрд╕ рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ рдЪреЗрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдереА, рдпрд╣ рд╕рд╣рдорддрд┐ рдереА рдХрд┐ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЛ рд╡реИрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рдХреЗрд╡рд▓ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ , рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
  • 10 рдХреЗ рд▓рд┐рдП: рдпрд╣ рдХрдИ рд▓реЛрдЧреЛрдВ рд╕реЗ рдЙрди рдЪрд░ рдХреЛ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЖрдкрддреНрддрд┐ рдереАред (рдореЗрд░рд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА * _proxy рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдареБрдХрд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрдз рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред

рдореИрдВ NO_PROXY рдореЗрдВ рдЕрдкрдиреЗ рд╕рднреА рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб IPs рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдкрд░ рд╕рднреА minions рдкрд░ рд╕рдорд╛рди NO_PROXY рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ "рдареАрдХ" рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

$ рдирд┐рд░реНрдпрд╛рдд NO_PROXY = 'ip, ip, ip, ip, .example.com'
[рдорд╛рд╕реНрдЯрд░] $ kubeadm init
[minion] $ kubeadm join --token = {token} abcd: 6443

рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рднреА рдЖрдИрдкреА рдкрддреЗ enumerated рдпрд╛ .example.com рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрджрд┐ PR kubernetes / kubernetes # 52788 рдХреЛ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддреЛ рдЖрдкрдХреЗ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП NO_PROXY IP рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ред

рдереЛрдбрд╝рд╛ рд╕рд╛ рдорд╛рддрдоред рдЕрдЧрд░ рдореИрдВ "checks.go" рдХреЛрдб рджреЗрдЦрддрд╛ рд╣реВрдВред
рдпрджрд┐ рдкреНрд░реЙрдХреНрд╕реА рдореЗрдВ рдорд╛рди рд╣реИрдВ рддреЛ рдпрд╣ рд╣рдореЗрд╢рд╛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИред

рдпрджрд┐ рдкреНрд░реЙрдХреНрд╕реА! nil {
рд╡рд╛рдкрд╕ рдХрд░реЗрдВ
}
рд╡рд╛рдкрд╕реА рдиреАрд▓, рдиреАрд▓

рдЙрджреНрдпрдо рдореЗрдВ ... рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рддреАрди рдкреНрд░реЙрдХреНрд╕реА рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред (http_proxy, https_proxy, no_proxy)
рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП http_ * рдЕрдирд┐рд╡рд╛рд░реНрдп рд╡рд┐рдХрд▓реНрдк рд╣реИред
рдЕрдЧрд░ no_proxy рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рд╣реИ ... рддреЛ рдЙрд╕реЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

"pl, рд╕реЗрдЯ рд╡рд┐рдХрд▓реНрдк (no_proxy) рдХреЛ рдЖрдВрддрд░рд┐рдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдореЗрдВ рд░реВрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП"

рдореИрдВ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ рдХрд┐ рдХреНрдпрд╛ kubeadm join http_proxy рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ?

рдореИрдВ http_proxy рдФрд░ no_proxy рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП kubeadm init рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ kubeadm рдЙрддреНрдкрд╛рджрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдЬреИрд╕реЗ

kubelet.go:2105] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

remote_runtime.go:92] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed pulling image "gcr.io/google_containers/pause-amd64:3.0": Get https://gcr.io/v1/_ping: read tcp <my-ip>:58742->74.125.68.82:443: read: connection reset by peer

рдФрд░ рднреА
/ etc / рд╡рд╛рддрд╛рд╡рд░рдг рдЧреБрд░реБ рдХреА рддрд░рд╣ рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗ рднрд░реЗ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЦрд╛рд▓реА рд╣реИред

рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж http_proxy рдФрд░ no_proxy рдЕрднреА рддрдХ kubeadm join рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЕрднреА рднреА рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░реЙрдХреНрд╕реА рдФрд░ no_proxy рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИред

# 687, # 182, рдпрд╛ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рджреЗрдЦреЗрдВ: https://stackoverflow.com/questions/45580788/how-to-install-kubernetes-cluster-behind-proxy-with-kub

рдореЗрд░реЗ рдЕрдиреБрднрд╡ рд╕реЗ, kubeadm / etc / рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ

рдореЗрд░реЗ рдЕрдиреБрднрд╡ рд╕реЗ, kubeadm / etc / рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ

рд╣рд╛рдБ - рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рднреА / рдЖрджрд┐ / рдкрд░реНрдпрд╛рд╡рд░рдг рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

cnmade picture cnmade  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

chuckha picture chuckha  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

danderson picture danderson  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mlevesquedion picture mlevesquedion  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

luxas picture luxas  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ