<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                kubernetes:一個管理容器組的工具,具有先進的調度能力 [Docker生態系統系列之一:常用組件介紹](https://yq.aliyun.com/articles/224629?spm=a2c4e.11153959.blogcont11035.12.5883ee043iKaV6) [kubernetes1.9離線部署](https://segmentfault.com/a/1190000012755243) ### 一、準備 #### 1. 前提 > 先安裝etcd環境,etcd可以是集群,可以是單點。然后安裝flannel。 flannel在 node上都需要安裝。master可以不安裝。 >當然,可以在master的機器上作為一個node。只需要安裝node的要求安裝所需服務。 #### 2. 節點所需 | master | node | | ------------- |:-------------:| | kube-apiserver | kubelet | | kube-controller-manager | kube-proxy| | kube-scheduler | .... | #### 3. Kubernetes下載 [下載地址](https://github.com/kubernetes/kubernetes/releases?after=v1.7.12-beta.0) > 下載二進制文件由于訪問外網,網絡原因可能下載不了。可以編譯源代碼獲取二進制部署文件。 見[編譯kubernetes](build_kubernetes.md) **獲取到二進制安裝包之后,將相關可執行文件拷貝到/usr/bin/目錄中。** ``` kube-apiserver kube-controller-manager kube-scheduler kubectl kube-proxy ``` ### 二、Kubernetes安裝配置 #### 1. Kubernetes通用配置文件 - 創建 Kubernetes 配置目錄 ``` sudo mkdir /etc/kubernetes ``` - 創建 Kubernetes 通用配置 ``` sudo vim /etc/kubernetes/config ``` ``` KUBE_LOGTOSTDERR="--logtostderr=true" KUBE_LOG_LEVEL="--v=0" KUBE_ALLOW_PRIV="--allow-privileged=false" KUBE_MASTER="--master=http://{master}:8080" ``` #### 2. 配置kube-apiserver服務 在Kubernetes的master主機上 ``` sudo vim /etc/kubernetes/apiserver ``` ``` ### # kubernetes system config # # The following values are used to configure the kube-apiserver # # The address on the local server to listen to. KUBE_API_ADDRESS="--address=0.0.0.0" #KUBE_API_ADDRESS="--insecure-bind-address=127.0.0.1" # The port on the local server to listen on. KUBE_API_PORT="--port=8080" # Port minions listen on KUBELET_PORT="--kubelet-port=10250" # Comma separated list of nodes in the etcd cluster KUBE_ETCD_SERVERS="--etcd-servers=http://{ectd_ip}:2379" # Address range to use for services KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range={192.168.4.0/24}" # default admission control policies KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota" # Add your own! KUBE_API_ARGS="" ``` KUBE_SERVICE_ADDRESSES 配置為etcd創建的可用網段地址 - 創建systemd文件 ``` sudo vim /lib/systemd/system/kube-apiserver.service ``` ``` [Unit] Description=Kubernetes API Server Documentation=https://github.com/GoogleCloudPlatform/kubernetes After=network.target After=etcd.service Wants=etcd.service [Service] User=root EnvironmentFile=-/etc/kubernetes/config EnvironmentFile=-/etc/kubernetes/apiserver ExecStart=/usr/bin/kube-apiserver \ $KUBE_LOGTOSTDERR \ $KUBE_LOG_LEVEL \ $KUBE_ETCD_SERVERS \ $KUBE_API_ADDRESS \ $KUBE_API_PORT \ $KUBELET_PORT \ $KUBE_ALLOW_PRIV \ $KUBE_SERVICE_ADDRESSES \ $KUBE_ADMISSION_CONTROL \ $KUBE_API_ARGS Restart=on-failure Type=notify LimitNOFILE=65536 [Install] WantedBy=multi-user.target ``` #### 3. 配置kube-controller-manager服務 ``` sudo vim /etc/kubernetes/controller-manager ``` ``` KUBE_CONTROLLER_MANAGER_ARGS="" ``` - 創建systemd文件 ``` sudo vim /lib/systemd/system/kube-controller-manager.service ``` ``` [Unit] Description=Kubernetes Controller Manager Documentation=https://github.com/GoogleCloudPlatform/kubernetes After=etcd.service After=kube-apiserver.service Requires=etcd.service Requires=kube-apiserver.service [Service] User=root EnvironmentFile=-/etc/kubernetes/config EnvironmentFile=-/etc/kubernetes/controller-manager ExecStart=/usr/bin/kube-controller-manager \ $KUBE_LOGTOSTDERR \ $KUBE_LOG_LEVEL \ $KUBE_MASTER \ $KUBE_CONTROLLER_MANAGER_ARGS Restart=on-failure LimitNOFILE=65536 [Install] WantedBy=multi-user.target ``` #### 4. 配置kube-scheduler服務 ``` sudo vim /etc/kubernetes/scheduler ``` ``` KUBE_SCHEDULER_ARGS="" ``` - 創建systemd文件 ``` sudo vim /lib/systemd/system/kube-scheduler.service ``` ``` [Unit] Description=Kubernetes Scheduler Documentation=https://github.com/kubernetes/kubernetes [Service] User=root EnvironmentFile=-/etc/kubernetes/config EnvironmentFile=-/etc/kubernetes/scheduler ExecStart=/usr/bin/kube-scheduler \ $KUBE_LOGTOSTDERR \ $KUBE_MASTER Restart=on-failure LimitNOFILE=65536 [Install] WantedBy=multi-user.target ``` #### 5. 啟動Kubernetes master節點的服務 ``` sudo systemctl daemon-reload sudo systemctl enable kube-apiserver kube-controller-manager kube-scheduler sudo systemctl start kube-apiserver kube-controller-manager kube-scheduler ``` #### 6. Kubernetes node配置 Kubernetes node節點也需要配置 **/etc/kubernetes/config** 文件,內容與Kubernetes mater節點一致。 #### 7. 配置kubelet服務 每個節點都需要配置。 在kubernetes集群中,每個Node節點都會啟動kubelet進程,用來處理Master節點下發到本節點的任務,管理Pod和其中的容器。 [Kubernetes核心原理(四)之Kubelet](http://blog.csdn.net/huwh_/article/details/77922293) - 創建kubelet的數據目錄 ``` sudo mkdir /var/lib/kubelet ``` - 創建kubelete配置文件 ``` sudo vim /etc/kubernetes/kubelet ``` ``` KUBELET_ADDRESS="--address=127.0.0.1" KUBELET_HOSTNAME="--hostname-override=node_out_ip" KUBELET_API_SERVER="--api-servers=http://kub_master_ip:8080" # pod infrastructure container KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.RedHat.com/rhel7/pod-infrastructure:latest" KUBELET_ARGS="--enable-server=true --enable-debugging-handlers=true" ``` - 創建systemd文件 ``` sudo vim /lib/systemd/system/kubelet.service ``` ``` [Unit] Description=Kubernetes Kubelet Documentation=https://github.com/GoogleCloudPlatform/kubernetes After=docker.service Requires=docker.service [Service] WorkingDirectory=/var/lib/kubelet EnvironmentFile=-/etc/kubernetes/config EnvironmentFile=-/etc/kubernetes/kubelet ExecStart=/usr/bin/kubelet \ $KUBE_LOGTOSTDERR \ $KUBE_LOG_LEVEL \ $KUBELET_API_SERVER \ $KUBELET_ADDRESS \ $KUBELET_PORT \ $KUBELET_HOSTNAME \ $KUBE_ALLOW_PRIV \ $KUBELET_POD_INFRA_CONTAINER \ $KUBELET_ARGS Restart=on-failure KillMode=process [Install] WantedBy=multi-user.target ``` - 啟動kubelet服務 ``` sudo systemctl daemon-reload sudo systemctl enable kubelet sudo systemctl start kubelet ``` #### 8. 配置kube-proxy服務 - 創建kube-proxy配置文件 ``` sudo vim /etc/kubernetes/proxy ``` ``` # kubernetes proxy config # default config should be adequate # Add your own! KUBE_PROXY_ARGS="" ``` - 創建systemd文件 ``` sudo vim /lib/systemd/system/kube-proxy.service ``` ``` [Unit] Description=Kubernetes Proxy Documentation=https://github.com/GoogleCloudPlatform/kubernetes After=network.target [Service] EnvironmentFile=-/etc/kubernetes/config EnvironmentFile=-/etc/kubernetes/proxy ExecStart=/usr/bin/kube-proxy \ $KUBE_LOGTOSTDERR \ $KUBE_LOG_LEVEL \ $KUBE_MASTER \ $KUBE_PROXY_ARGS Restart=on-failure LimitNOFILE=65536 [Install] WantedBy=multi-user.target ``` - 啟動kube-proxy服務 ``` sudo systemctl daemon-reload sudo systemctl enable kube-proxy sudo systemctl start kube-proxy ``` - 查詢node狀態 執行kubectl get node命令來查看node狀態。都為Ready狀態時,則說明node節點已經成功連接到master,如果不是該狀態,則需要到該節點上,定位下原因。可通過journalctl -u kubelet.service命令來查看kubelet服務的日志。 ``` kubectl get node ``` #### 9. Kubernetes測試 測試Kubernetes是否成功安裝。 - 編寫yaml文件 在Kubernetes master上創建一個nginx.yaml,用于創建一個nginx的ReplicationController。 ``` vim rc_nginx.yaml ``` ``` apiVersion: v1 kind: ReplicationController metadata: name: nginx labels: name: nginx spec: replicas: 2 selector: name: nginx template: metadata: labels: name: nginx spec: containers: - name: nginx image: nginx ``` ### 參考 [Ubuntu上手動安裝部署Kubernetes詳細指南](http://www.linuxidc.com/Linux/2017-04/142514.htm) [docker kubernetes dashboard安裝部署詳細介紹](http://www.jb51.net/article/94343.htm)
                  <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>

                              哎呀哎呀视频在线观看