kubernetes 1.9.2クイックインストール、3ステップのみ


ここでインストールパッケージ1.8.1を購入する
インストールパッケージ1.9.2
注意1.9.2インストール方法は商品のページを見て、1.8.1と少し異なって、いくつかの配置とスクリプトの最適化をします

インストール

  • masterノードはinit-masterを実行する.sh
  • nodeノードはinit-nodeを実行する.sh
  • nodeノードはmaster出力のkubeadm joinコマンド
  • を実行する.
    オプション、dashboard、masterのインストールが完了すると、dashboardはnodeノードにスケジューリングされません:init-dashboardを実行します.sh type:ClusterIPをNodePortに変更し、dashboardのあるノード+ポート番号にアクセスすればよい.
    その後、何の問題も私に連絡して、100%インストールに成功しました.

    よくある質問


    クbeletサービスは起動できませんか?
    cgroup driver構成は同じである
    docker cgroup driverを表示するには:
    docker info|grep Cgroup

    システムdとcgroupfsの2種類があり、kubeletサービス構成をdockerと一致させる
    vim/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
    KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs#この構成はdockerから一致に変更されました
    ノードnot ready?
    calicoネットワークのインストールを推奨します.プライマリノードをnodeノードとするには、コマンドを追加する必要があります.
    [root@dev-86-202 ~]# kubectl taint nodes --all node-role.kubernetes.io/master-

    dashboardはアクセスできませんか?
    NodePort方式でアクセスする場合は、dashboardサービスがどのノードに具体的にスケジューリングされているかを知る必要があります.そのノードのipにアクセスし、masterのipではありません.だめならhttpをhttpに変えてみてください.
    特定のノードを表示
    kubectl get pod -n kube-system -o wide

    ミラーのプルに失敗しましたか?
    Nodeノードとmasterノードのミラーを各ノードloadで1回行うことができます.
    dashboard crash、dns起きられないの?
    Nodeノードとmasterノードのミラーを各ノードloadで1回行うことができます.
    192.168セグメントとcalicoセグメントの衝突?
    もしあなたもちょうど192.168のセグメントであれば、calicoのセグメントを修正することをお勧めします.
    こんな感じで
    kubeadm init --pod-network-cidr=192.168.122.0/24 --kubernetes-version v1.8.1

    calicoを変更します.yaml
        - name: FELIX_DEFAULTENDPOINTTOHOSTACTION
          value: "ACCEPT"
        # Configure the IP Pool from which Pod IPs will be chosen.
        - name: CALICO_IPV4POOL_CIDR
          value: "192.168.122.0/24"
        - name: CALICO_IPV4POOL_IPIP
          value: "always"
        # Disable IPv6 on Kubernetes.
        - name: FELIX_IPV6SUPPORT
          value: "false"

    dns半日起きられないの?
    dnsミラーがloadに成功すれば、マシンの配置が低すぎるのか、起きるのが非常に遅く、友人の単核2 Gが15分も起動しなかった.デュアルコア4 G以上のリソースを推奨
    kubelet unhealthy?
    [kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10255/healthz/syncloop' failed with error: Get http://localhost:10255/healthz/syncloop: dial tcp 127.0.0.1:10255: getsockopt: connection refused.
    [kubelet-check] It seems like the kubelet isn't running or healthy.

    manifastはすでに存在する可能性があります.削除すればいいです.
    [root@dev-86-205 kubeadm]# rm -rf /etc/kubernetes/manifests

    時間は24時間を超えて、ノードは入れませんか?
    [root@dev-86-208 test]# kubeadm token create
    [kubeadm] WARNING: starting in 1.8, tokens expire after 24 hours by default (if you require a non-expiring token use --ttl 0)
    887ac7.e82f0e13ad72c367

    上のコマンドはtokenを再生成し、kubeadm joinを実行するときは上のtokenで置き換え、initを永遠に期限切れにしないようにttlを0に設定します.
    --token-ttl duration