<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # 1、初始化Master Kubeadm已經被安裝到這個節點上了。這個安裝包對Ubuntu16.04+,Centos7或HypriotOS v1.01+可用。 初始化集群的第一階段就是啟動master節點。master節點是負責運行控制平臺(control plane)組件,etcd和API server的。客戶端通過Master API來調度工作負載管理集群狀態。 ## Task 下面的命令通過一個已知的token來初始化集群,以簡化以下步驟。 ``` kubeadm init --token=102952.1a7dd4cc8d1f4cc5 --kubernetes-version $(kubeadm version -o short) ``` 在生產中,建議您排除這個token,因為kubeadm會代表你生成一個。 為了管理這個K8s集群,需要客戶端配置和證書。這個配置在kubeadm初始化集群的時候會自動生成。下面的命令拷貝配置到用戶的家目錄并且設置這個環境變量以便使用命令行工具(CLI)。 ``` sudo cp /etc/kubernetes/admin.conf $HOME/ sudo chown $(id -u):$(id -g) $HOME/admin.conf export KUBECONFIG=$HOME/admin.conf ``` # 2、部署容器網絡接口(CNI) CNI定義了如何連接不同的節點和對應的工作負載。這里有多個網絡插件可用。 Task 在這節中我們將會使用WeaveWorks,對應的部署定義文件在目錄 (這一步實踐中發現 文件名叫/opt/weave-kube.yaml) ``` cat /opt/weave-kube.yml ``` 使用kubectl apply命令進行部署 ``` kubectl apply -f /opt/weave-kube.yml ``` Weave將會部署一系列的Pods在集群中。查看部署狀態可使用命令 ``` kubectl get pod -n kube-system ``` 當部署Weave在你的集群中,訪問 [https://www.weave.works/docs/net/latest/kube-addon](https://www.weave.works/docs/net/latest/kube-addon) 獲取更多詳細信息。 3、加入集群 一旦Master和CNI已經被初始化了,其他的節點只要他們使用正確的token就可以加入集群。使用命令查看這個token: ``` kubeadm token list ```` ## Task 在第二個節點上,運行下面的命令加入集群通過使用主節點的IP地址 ``` kubeadm join --discovery-token-unsafe-skip-ca-verification --token=102952 .1a7dd4cc8d1f4cc5 172.17.0.51:6443 ``` 這是主程序初始化后提供的相同命令。 **--discovery-token-unsafe-skip-ca-verification** 是用來跳過Discovery Token驗證的。由于這個token是動態生成的,所以我們在這步不能包含它。當我們在生產中,使用kubeadm init提供的token。 # 4、查看節點 集群現在已經被初始化了。Master節點會管理這個集群,同時我們的一個工作節點將會運行我們的容器負載。 ## Task K8s CLI,就是kubectl,現在可以使用配置來訪問集群了。例如,下面的命令將會返回我們集群中的這兩個節點。 ``` kubectl get nodes ``` # 5、部署Pod 集群中的這兩個節點現在應該是Ready的狀態。這代表我們的部署可以被調度和啟動了。 使用Kubectl,可以部署pods。每個節點執行工作負載的命令總是有Master發出。 下面的命令創建一個基于Docker鏡像katacoda/docker-http-server的pod。 ``` kubectl create deployment http --image=katacoda/docker-http-server:latest ``` Pod創建的狀態可以使用命令查看: ``` kubectl get pods ``` 一旦運行,你可以查看Docker容器在節點的運行情況。 ``` docker ps | grep docker-http-server ``` # 6、部署Dashboard K8s有一個基于Web的Dashboard UI,可視化展示集群。 ## Task 部署dashboard使用下面的命令: ``` kubectl apply -f dashboard.yaml ``` dashboard 是被部署到kube-system命名空間下的,查看部署狀態使用命令: ``` kubectl get pods -n kube-system ``` 登錄時需要一個ServiceAccount。一個ClusterRoleBinding被用來分配一個新的ServiceAccount(admin-user)給集群管理員角色。 ``` cat <<EOF | kubectl create -f - apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kube-system EOF ``` 這意味著他們可以控制K8s的各個方面。通過ClusterRoleBinding和RBAC(基于角色的訪問控制),根據安全需求不同層次的權限可以被定義了。為Dashboard創建一個用戶的更多信息可以查詢Dashboard文檔。 一旦ServiceAccount被創建了,登錄的token可以找到: ``` kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') ``` 當dashboard被部署好了,他使用外部IP綁定到8443端口的Service上。dashboard在集群外就可以被訪問到[https://2886795330-8443-elsy02.environments.katacoda.com/](https://2886795330-8443-elsy02.environments.katacoda.com/) 使用admin-user的token來訪問dashboard。 在生產中,不是使用外部IP,更推薦使用kubectl proxy來訪問dashboard,查看更多詳細信息訪問[https://github.com/kubernetes/dashboard](https://github.com/kubernetes/dashboard).
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看