1. 程式人生 > >centos7 使用二進位制包搭建kubernetes 1.9.0叢集

centos7 使用二進位制包搭建kubernetes 1.9.0叢集

kubernetes 發展速度非常,至少在目前來說是非常不錯的,很多大公司都在使用容器技術部署專案,而最近比較火的容器管理工具就是kubernetes了。

由於之前公司一直使用的還是yum安裝的v1.5.2,因為沒什麼大的需求就一直沒有更新到新版本,這次出來的1.9.0版本。聽說功能更強大,所以就自己機器上搭建一個小群集來測試。因為網上還沒有build好的rpm包,原本自己打算製作一個的,但是技術資訊有限暫時未能做出來。可是又很想使用新版本,所以直接在網官上下載一個二進位制的tar包來。

系統:CentOS Linux release 7.2.1511 (Core)

核心可以升級,如果不升級也可以執行,但是會在日誌裡有提示。

  1. ######################################################## 
  2. 節點名         主機名         IP地址 
  3. etcd            etcd            10.0.10.11 
  4. k8s-master      k8s-master      10.0.10.12 
  5. k8s-node1       k8s-node1       10.0.10.13 
  6. k8s-node2       k8s-node2       10.0.10.14 

 機器之間做好時間同步:

  1. yum install ntpd -y  
  2. systemctl start ntpd  
  3. systemctl enable ntpd 

新增主機名IP地址的對應解析到/etc/hosts檔案:

  1. [[email protected] system]# tail -5 /etc/hosts 
  2. 192.168.18.54   reg.docker.tb 
  3. 10.0.10.11  etcd 
  4. 10.0.10.12  k8s-master 
  5. 10.0.10.13  k8s-node1 
  6. 10.0.10.14  k8s-node2 

並在Master節點上做一個ssh-key免密登陸,傳到每個節點上,和etcd機器。

 軟體包下載地址:

etcd:https://github.com/coreos/etcd/releases/download/v3.2.11/etcd-v3.2.11-linux-amd64.tar.gz

kubernetes: https://codeload.github.com/kubernetes/kubernetes/tar.gz/v1.9.0

配置Etcd伺服器

  1. tar xf etcd-v3.2.11-linux-amd64.tar.gz 
  2. cd etcd-v3.2.11-linux-amd64 
  3. cp etcd etcdctl /usr/bin/ 

新增使用者和組,這裡的組ID和使用者ID可以不用指定

  1. [[email protected] system]# groupadd -g 990 etcd 
  2. [[email protected] system]# useradd -s /sbin/nologin -M -c "etcd user" -u 991 etcd -g etcd 
  3. [[email protected] system]# id etcd 
  4. uid=991(etcd) gid=990(etcd) groups=990(etcd) 

建立啟動檔案:/usr/lib/systemd/system/etcd.service 

  1. [Unit] 
  2. Description=Etcd Server 
  3. After=network.target 
  4. After=network-online.target 
  5. Wants=network-online.target 
  6. [Service] 
  7. Type=notify
  8. WorkingDirectory=/var/lib/etcd/ 
  9. EnvironmentFile=-/etc/etcd/etcd.conf 
  10. User=etcd
  11. # set GOMAXPROCS to number of processors 
  12. ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\"" 
  13. Restart=on-failure 
  14. LimitNOFILE=65536
  15. [Install] 
  16. WantedBy=multi-user.target 

建立啟動檔案中用到的目錄,這個是根據rpm包的思路操作:

  1. mkdir -p /etc/etcd 
  2. mkdir -p /var/lib/etcd 
  3. chown -R etcd.etcd /var/lib/etcd 

啟動服務,並檢查狀態:

  1. systemctl start etcd 
  2. systemctl enable etcd 
  3. #檢查健康狀態: 
  4. [[email protected] system]# etcdctl -C http://etcd:2379 cluster-health 
  5. member 8e9e05c52164694d is healthy: got healthy result from http://10.0.10.11:2379 
  6. cluster is healthy 

配置Master節點:

Master節點上只需要執行這幾個服務:apiserver、controller-manager、scheduler

 直接解壓檔案並複製到系統路徑下,如果不這樣做就新增環境變數 。

  1. tar xf kubernetes-server-linux-amd64.tar.gz 
  2. cd kubernetes/server/bin 
  3. 複製執行檔案到/usr/bin目錄下: 
  4. find ./ -perm 750|xargs chmod 755 
  5. find ./ -perm 750|xargs -i cp {} /usr/bin/ 

查檢kubernetes版本:

  1. [[email protected] bin]# kubectl version 
  2. Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.0", GitCommit:"925c127ec6b946659ad0fd596fa959be43f0cc05", GitTreeState:"clean", BuildDate:"2017-12-15T21:07:38Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"} 
  3. The connection to the server localhost:8080 was refused - did you specify the right host or port? 

把下面幾個啟動檔案新增到系統以下目錄下:/usr/lib/systemd/system/ 

啟動檔案:kube-apiserver.service

  1. [Unit] 
  2. Description=Kubernetes API Server 
  3. Documentation=https://github.com/GoogleCloudPlatform/kubernetes 
  4. After=network.target 
  5. After=etcd.service 
  6. [Service] 
  7. EnvironmentFile=-/etc/kubernetes/config 
  8. EnvironmentFile=-/etc/kubernetes/apiserver 
  9. User=kube
  10. ExecStart=/usr/bin/kube-apiserver \ 
  11.         $KUBE_LOGTOSTDERR \ 
  12.         $KUBE_LOG_LEVEL \ 
  13.         $KUBE_ETCD_SERVERS \ 
  14.         $KUBE_API_ADDRESS \ 
  15.         $KUBE_API_PORT \ 
  16.         $KUBELET_PORT \ 
  17.         $KUBE_ALLOW_PRIV \ 
  18.         $KUBE_SERVICE_ADDRESSES \ 
  19.         $KUBE_ADMISSION_CONTROL \ 
  20.         $KUBE_API_ARGS 
  21. Restart=on-failure 
  22. Type=notify
  23. LimitNOFILE=65536
  24. [Install] 
  25. WantedBy=multi-user.target 

啟動檔案:kube-controller-manager.service

  1. kube-controller-manager.service 
  2. [Unit] 
  3. Description=Kubernetes Controller Manager 
  4. Documentation=https://github.com/GoogleCloudPlatform/kubernetes 
  5. [Service] 
  6. EnvironmentFile=-/etc/kubernetes/config 
  7. EnvironmentFile=-/etc/kubernetes/controller-manager 
  8. User=kube
  9. ExecStart=/usr/bin/kube-controller-manager \ 
  10.         $KUBE_LOGTOSTDERR \ 
  11.         $KUBE_LOG_LEVEL \ 
  12.         $KUBE_MASTER \ 
  13.         $KUBE_CONTROLLER_MANAGER_ARGS 
  14. Restart=on-failure 
  15. LimitNOFILE=65536
  16. [Install] 
  17. WantedBy=multi-user.target 

啟動檔案:kube-scheduler.service

  1. [Unit] 
  2. Description=Kubernetes Scheduler Plugin 
  3. Documentation=https://github.com/GoogleCloudPlatform/kubernetes 
  4. [Service] 
  5. EnvironmentFile=-/etc/kubernetes/config 
  6. EnvironmentFile=-/etc/kubernetes/scheduler 
  7. User=kube
  8. ExecStart=/usr/bin/kube-scheduler \ 
  9.         $KUBE_LOGTOSTDERR \ 
  10.         $KUBE_LOG_LEVEL \ 
  11.         $KUBE_MASTER \ 
  12.         $KUBE_SCHEDULER_ARGS 
  13. Restart=on-failure 
  14. LimitNOFILE=65536
  15. [Install] 
  16. WantedBy=multi-user.target 

新增使用者和組:只要系統ID不存在的就可以了

  1. groupadd -g 992 kube 
  2. useradd -s /sbin/nologin -M -c "kube user" -u 996 kube -g kube 

建立相應的目錄,並授權許可權:

  1. mkdir -p /etc/kubernetes 
  2. #mkdir -p /var/run/kubernetes 
  3. mkdir -p /usr/libexec/kubernetes 
  4. #chown -R kube.kube /var/run/kubernetes/  #被下面的方法替換了
  5. chown -R kube.kube /usr/libexec/kubernetes 

2018-02-01補充:由於kube-apiserver啟動的時候會在/var/run/kubernetes下自動建立apiserver.crt 和apiserver.key兩個檔案,因為此目錄預設不存在的而上面手工建立後,Node節點重啟過系統 的話就要丟失,導致kube-apiserver啟動失敗,日誌如下:

  1. Feb  1 08:45:58 k8s-master kube-apiserver: error creating self-signed certificates: mkdir /var/run/kubernetes: permission denied  

所以解決方法就是:進入/usr/lib/tmpfiles.d/建立一個配置檔案,這裡檔案會在系統啟動的時候自動執行。

  1. [[email protected] ~]# cd /usr/lib/tmpfiles.d/  
  2. [[email protected] tmpfiles.d]# cat kubernetes.conf   
  3. d /var/run/kubernetes 0755 kube kube -  

啟動服務:

  1. for service in kube-apiserver kube-controller-manager kube-scheduler;do systemctl restart $service && systemctl enable $service ;done 

Node節點安裝

node節點上跑的服務就這 幾個:kubelet,kube-proxy

直接把master上的幾個執行檔案傳到Node節點的/usr/bin目錄下:

  1. scp kube-proxy kubelet k8s-node1:/usr/bin/ 
  2. scp kube-proxy kubelet k8s-node2:/usr/bin/ 

新增使用者和組:只要系統不存在的就可以了

  1. groupadd -g 992 kube 
  2. useradd -s /sbin/nologin -M -c "kube user" -u 996 kube -g kube 

 建立相應的目錄:

  1. mkdir -p /etc/kubernetes  
  2. mkdir -p /var/run/kubernetes  
  3. chown -R kube.kube /var/run/kubernetes/  
  4. mkdir -p /var/lib/kubelet  
  5. chown -R kube.kube /var/lib/kubelet 
  6. mkdir -p /usr/libexec/kubernetes 
  7. chown -R kube.kube /usr/libexec/kubernetes 

新增啟動檔案:kubelet.service

  1. [Unit] 
  2. Description=Kubernetes Kubelet Server 
  3. Documentation=https://github.com/GoogleCloudPlatform/kubernetes 
  4. After=docker.service 
  5. Requires=docker.service 
  6. [Service] 
  7. WorkingDirectory=/var/lib/kubelet 
  8. EnvironmentFile=-/etc/kubernetes/config 
  9. EnvironmentFile=-/etc/kubernetes/kubelet 
  10. ExecStart=/usr/bin/kubelet \ 
  11.         $KUBE_LOGTOSTDERR \ 
  12.         $KUBE_LOG_LEVEL \ 
  13.         $KUBELET_API_SERVER \ 
  14.         $KUBELET_ADDRESS \ 
  15.         $KUBELET_PORT \ 
  16.         $KUBELET_HOSTNAME \ 
  17.         $KUBE_ALLOW_PRIV \ 
  18.         $KUBELET_POD_INFRA_CONTAINER \ 
  19.         $KUBELET_ARGS 
  20. Restart=on-failure 
  21. [Install] 
  22. WantedBy=multi-user.target 

新增啟動檔案:kube-proxy.service

  1. [Unit] 
  2. Description=Kubernetes Kube-Proxy Server 
  3. Documentation=https://github.com/GoogleCloudPlatform/kubernetes 
  4. After=network.target 
  5. [Service] 
  6. EnvironmentFile=-/etc/kubernetes/config 
  7. EnvironmentFile=-/etc/kubernetes/proxy 
  8. ExecStart=/usr/bin/kube-proxy \ 
  9.         $KUBE_LOGTOSTDERR \ 
  10.         $KUBE_LOG_LEVEL \ 
  11.         $KUBE_MASTER \ 
  12.         $KUBE_PROXY_ARGS 
  13. Restart=on-failure 
  14. LimitNOFILE=65536
  15. [Install] 
  16. WantedBy=multi-user.target 

新增配置檔案到/etc/kubernetes目錄下:

config

  1. [[email protected] kubernetes]# egrep -v "^$|^#" config  
  2. KUBE_LOGTOSTDERR="--logtostderr=true"
  3. KUBE_LOG_LEVEL="--v=0"
  4. KUBE_ALLOW_PRIV="--allow-privileged=false"
  5. KUBE_MASTER="--master=http://k8s-master:8080"

proxy,沒什麼內容,但是要檔案存在。

  1. [[email protected] kubernetes]# egrep -v "^$|^#" proxy 
  2. KUBE_PROXY_ARGS=""

kubelet

  1. [[email protected] kubernetes]# egrep -v "^$|^#" kubelet  
  2. KUBELET_HOSTNAME="--hostname-override=k8s-node2"
  3. KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=reg.docker.tb/harbor/pod-infrastructure:latest"
  4. KUBELET_ARGS="--enable-server=true --enable-debugging-handlers=true --fail-s
  5. wap-on=false --kubeconfig=/var/lib/kubelet/kubeconfig"

這裡需要注意的,如果機器開啟了swap分割槽的話,kubernetes會無法啟動,需要關閉。

然後還要新增一個配置檔案,因為1.9.0在kubelet裡不再使用KUBELET_API_SERVER來跟API通訊,而是通過別一個yaml的配置來實現。

  1. [[email protected] kubernetes]# cat /var/lib/kubelet/kubeconfig 
  2. apiVersion: v1 
  3. kind: Config 
  4. users: 
  5. - name: kubelet 
  6. clusters: 
  7. - name: kubernetes 
  8.   cluster: 
  9.     server: http://k8s-master:8080 
  10. contexts: 
  11. - context: 
  12.     cluster: kubernetes 
  13.     user: kubelet 
  14.   name: service-account-context 
  15. current-context: service-account-context 

新增後注意授權,不然會報沒許可權:

  1. chown -R kube.kube /var/lib/kubelet/ 

Node節點上安裝docker-1.12.6

  1. 安裝epel源: 
  2. rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 
  3. yum install docker -y 

修改docker的配置檔案,加入私有倉庫:/etc/sysconfig/docker

  1. INSECURE_REGISTRY="--insecure-registry reg.docker.tb"

因為docker預設使用的

這裡只要修改docker跟kubernetes一樣即可。/usr/lib/systemd/system/docker.service

  1. --exec-opt native.cgroupdriver=cgroupfs \ 

啟動docker服務,登陸驗證:

  1. 啟動docker服務,登陸驗證: 
  2. [[email protected] kubernetes]# docker login reg.docker.tb 
  3. Username : upload 
  4. Password:  
  5. Login Succeeded 
如果多個Node節點怎麼辦?可以直接把檔案傳到每個節點上。
  1. [[email protected] kubernetes]# ll /root/.docker/config.json  
  2. -rw------- 1 root root 154 Jan 30 17:29 /root/.docker/config.json 

啟動kubelet 、kube-proxy服務

  1. for service in kube-proxy kubelet docker;do systemctl start $service && systemctl enable $service;done 

Node節點上啟動時遇到的問題:

error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"

解決方法就是使用上面的kubelet配置:

  1. Environment="KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true  --cgroup-driver=systemd"

這是因為docker 使用的cgroup-driver跟kubernetes的不一樣,所以就會報異常。

異常提示: factory.go:340] devicemapper filesystem stats will not be reported: RHEL/Centos 7.x kernel version 3.10.0-366 or later is required to use thin_ls - you have "3.10.0-327.el7.x86_64"

k8s 1.9.0版本在使用核心方面要求3.10.366以上,如果要升級核心可以使用以下方法:

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm;yum --enablerepo=elrepo-kernel install  kernel-lt-devel kernel-lt -y

 安裝完後可以檢視是否預設為新的核心:
  1. [[email protected] kubernetes]# egrep ^menu /etc/grub2.cfg|cut -f 2 -d \'  
  2. CentOS Linux (4.4.113-1.el7.elrepo.x86_64) 7 (Core) 
  3. CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core) 
  4. CentOS Linux (0-rescue-8a1328ef9a7247f09fe7bedb9a9d95c0) 7 (Core) 
設定新核心為預設選項:
  1. grub2-set-default 'CentOS Linux (4.4.113-1.el7.elrepo.x86_64) 7 (Core)' 
核對結果: [[email protected] kubernetes]# grub2-editenv list saved_entry=CentOS Linux (4.4.113-1.el7.elrepo.x86_64) 7 (Core) 最後把etcd,master,和Node節點都啟動,在master節點上檢查一下效果。
  1. 返回以下結果說明跟etcd的通訊正常: 
  2. [[email protected] system]# kubectl get cs 
  3. NAME                 STATUS    MESSAGE              ERROR 
  4. scheduler            Healthy   ok                    
  5. controller-manager   Healthy   ok                    
  6. etcd-0               Healthy   {"health": "true"}  
  1. 返回以下結果說明兩個Node節點跟Master,etcd通訊正常,因為節點上的配置資訊資料都是儲存在etcd服務上的。 
  2. [[email protected] system]# kubectl get node 
  3. NAME        STATUS    ROLES     AGE       VERSION 
  4. k8s-node1   Ready     <none>    5h        v1.9.0 
  5. k8s-node2   Ready     <none>    5h        v1.9.0 
建立一個yaml測試檔案,現在兩個node節點上都沒有任何映象,一會直接建立會自動去我指定的倉庫裡下載。 nginx-rc.yaml
  1. apiVersion: v1 
  2. kind: ReplicationController 
  3. metadata: 
  4.   name: nginx-rc 
  5. spec: 
  6.   replicas: 2 
  7.   selector: 
  8.     app: nginx 
  9.   template: 
  10.     metadata: 
  11.       labels: 
  12.         app: nginx 
  13.     spec: 
  14.       containers: 
  15.       - name: nginx 
  16.         image: reg.docker.tb/harbor/nginx 
  17.         ports: 
  18.         - containerPort: 80 
在等待一會後,下載完映象就可以看到效果了。 第一個就是pod基礎包,我把它下載回來並打上tag上傳到自己的倉庫裡了。 在master節點上可以看到剛才建立的rc共建立兩個容器,現在已經啟動了一個,因為我使用的筆記本走wifi比較慢。
  1. [[email protected] yaml]# kubectl get po 
  2. NAME             READY     STATUS              RESTARTS   AGE 
  3. nginx-rc-74s85   1/1       Running             0          8m 
  4. nginx-rc-kc5tx   0/1       ContainerCreating   0          8m 
這裡要注意一下kubernetes與docker的版本支援,之前我還是使用docker-ce最新版的,發現有問題,就比如網路不通。

 安裝flannel網路外掛

首先在etcd伺服器上新增一個網路配置,這個網路配置自己隨意只要在flannl的配置裡一樣即可。

  1. etcdctl set /atomic.io/network/config '{ "Network": "172.21.0.0/16" }' 

為了 方便管理,在Master節點上也安裝上flannl外掛,就是除了這個etcd伺服器上不安裝,其它的都安裝上。

下載地址:https://github.com/coreos/flannel/releases/download/v0.9.0/flannel-v0.9.0-linux-amd64.tar.gz

  1. tar xf flannel-v0.9.0-linux-amd64.tar.gz 
  2. 傳到每個機器上: 
  3. scp flanneld k8s-node1:/usr/bin/ 
  4. scp flanneld k8s-node2:/usr/bin/ 
  5. #每個機器上建立一個目錄: 
  6. mkdir -p /usr/libexec/flannel 
  7. scp mk-docker-opts.sh k8s-node1:/usr/libexec/flannel 
  8. scp mk-docker-opts.sh k8s-node2:/usr/libexec/flannel 

新增一個啟動檔案:要看啟動檔案中的目錄,如果不存在就建立,並授權。

  1. [Unit] 
  2. Description=Flanneld overlay address etcd agent 
  3. After=network.target 
  4. After=network-online.target 
  5. Wants=network-online.target 
  6. After=etcd.service 
  7. Before=docker.service 
  8. [Service] 
  9. Type=notify
  10. EnvironmentFile=/etc/sysconfig/flanneld 
  11. EnvironmentFile=-/etc/sysconfig/docker-network 
  12. ExecStart=/usr/bin/flanneld-start $FLANNEL_OPTIONS 
  13. ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker 
  14. Restart=on-failure 
  15. [Install] 
  16. WantedBy=multi-user.target 
  17. RequiredBy=docker.service 

還要手工添加個shell檔案:flanneld-start

  1. #!/bin/sh 
  2. exec /usr/bin/flanneld \ 
  3.     -etcd-endpoints=${FLANNEL_ETCD_ENDPOINTS:-${FLANNEL_ETCD}} \ 
  4.     -etcd-prefix=${FLANNEL_ETCD_PREFIX:-${FLANNEL_ETCD_KEY}} \ 
  5.     "[email protected]

需要可執行許可權:

  1. chmod 755 /usr/bin/flanneld-start 

然後啟動服務。

再嘗試一個下效果:新增一個srevice.yaml

  1. apiVersion: v1 
  2. kind: Service 
  3. metadata: 
  4.   name: nginx-service 
  5. spec: 
  6.   type: NodePort 
  7.   ports: 
  8.   - port: 8000 
  9.     targetPort: 80 
  10.     protocol: TCP 
  11.   selector: 
  12.     app: nginx 

這裡可以看到type型別為NodePort,就是這個31603埠會在每個容器執行的宿主機上對映一個對外的埠,通過宿主機IP和埠即可訪問上面建立的nginx服務。

  1. [[email protected] yaml]# kubectl get service 
  2. NAME            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE 
  3. kubernetes      ClusterIP   10.254.0.1      <none>        443/TCP          1d 
  4. nginx-service   NodePort    10.254.72.166   <none>        8000:31603/TCP   37m 
  5. [[email protected] yaml]# kubectl get po -o wide 
  6. NAME             READY     STATUS    RESTARTS   AGE       IP           NODE 
  7. nginx-rc-r6cnh   1/1       Running   0          45m       172.21.8.2   k8s-node2 
  8. nginx-rc-wp2hk   1/1       Running   0          45m       172.21.2.2   k8s-node1 

而CLUSTER-IP就是叢集的IP入口,但是它只允許有容器執行在叢集內的宿主機連線。

相關推薦

centos7 使用二進位制搭建kubernetes 1.9.0叢集

kubernetes 發展速度非常,至少在目前來說是非常不錯的,很多大公司都在使用容器技術部署專案,而最近比較火的容器管理工具就是kubernetes了。 由於之前公司一直使用的還是yum安裝的v1.5.2,因為沒什麼大的需求就一直沒有更新到新版本,這次出來的1.9.0版本

Kubernetes 1.9.0 alpha.1 版本釋出_Kubernetes中文社群

在2天前,Kubernetes社群同時釋出了兩個版本的kubernetes,1.8.0 rc.1版本和 1.9.0-alpha.1 版本,k8s 1.9.0 也是首次釋出,從 v1.8.0-alpha.3 版本以來更新完善了眾多功能,共提交了279次。相關更新如下: 使用cluster/k

Kubernetes | 學習教程 (一)Kubernetes 1.9.0 離線安裝教程

為了讓產品在迎來業務量爆發式增長前完成應對措施,在瀏覽無數的資料後,決定將服務逐漸進行容器化,最終能達到容器叢集的效果。而容器叢集的解決方案中,kubernetes(簡稱k8s)看起來是個可行的方案。我目前的理解是,k8s就是docker容器叢集的一個管理系統,有很多實用功能

使用Kubeadm搭建Kubernetes(1.12.2)叢集

Kubeadm是Kubernetes官方提供的用於快速安裝Kubernetes叢集的工具,伴隨Kubernetes每個版本的釋出都會同步更新,在2018年將進入GA狀態,說明離生產環境中使用的距離越來越近了。 使用Kubeadm搭建Kubernetes叢集本來是件很簡單的事,但由於眾所周知的原因,在中國大陸

K8S 1.9.0二進制部署(三)

無法 emc mod tps -o cal text tor amd 4、k8s node#############kubelet cp kubelet /usr/bin/chmod 755 /usr/bin/kubeletmkdir -p /app/kubernetes/

K8S 1.9.0二進制部署(五)

alt ces map ima config -c tex sta ffffff 6、dashboard v1.8.0在kubernetes目錄下有src的壓縮包,解壓後在cluster/addons/dashboard 下有5個文件dashboard-controller

K8S 1.9.0二進制部署(四)

ble forward term ecs core bus des usr ets 5、flannel cp flanneld /usr/bin/chmod 755 /usr/bin/flanneldmkdir -p /app/flannel/conf/ vi /usr/l

ubuntu18.04 flink-1.9.0 Standalone叢集搭建

叢集規劃 Master JobManager Standby JobManager Task Manager Zookeeper flink01 √ √ flink02 √ √ flink03 √ √ √ flink04 √ √ √ 前置準備 克隆4臺虛擬機器

k8s 1.9.0-手動安裝-2

none working ole pac value kill swap port sch 1 下載etcd新版 https://github.com/coreos/etcd/releases 直接下載k8s的二進制包 https://github.com/kubernet

Kubernetes 1.9集群使用traefik發布服務

k8s rbac traefik deployment 在前文中介紹了在kubernetes 1.5.2集群環境中使用traefik進行服務發布。Traefik采用daemonset方式部署,連接api-server走的是http協議,也未配置rbac。本文將介紹在k8s 1.9版本中使用de

Kubadem方式安裝Kubernetes(1.10.0)集群

k8s 部署 背景 kubernetes已經是現有的docker容器管理工具中必學的一個架構了,相對與swarm來說,它的架構更重,組件和配置也更復雜,當然了,提供的功能也更加強大。在這裏,k8s的基本概念和架構就不描述了,網上有很多的資料可供參考。 在技術的驅使下,我們公司也不可

Kubernetes 1.10.0離線安裝

mkfs.ext4 _for amd64 fir fdisk -l chown 部分 strong get 講述如何通過離線的方式安裝Kubernetes,主要用於對Kubernetes的研究學習,不建議在生產環境使用,安裝包獲取地址: 鏈接:https://

centos7使用kubeadm安裝kubernetes 1.11版本多主高可用

ips refresh www ember issues abi dash iyu let centos7使用kubeadm安裝kubernetes 1.11版本多主高可用 [TOC] kubernetes介紹要學習一個新的東西,先了解它是什麽,熟悉基本概念會有很大幫助。以

使用 kubeadm 安裝部署 kubernetes 1.9-部署heapster插件

master aml con inf uber kubectl net raw 重新 1.先到外網下載好鏡像倒進各個節點 2.下載yaml文件和創建應用 mkdir -p ~/k8s/heapster cd ~/k8s/heapster wget https://raw.

Windows 10 下載CUDA9.2 + cuDNNv7.2.1 + tensorflow-gpu 1.9.0

CUDA安裝 根據官網描述在下載CUDA之前請確保: GPU型號相容 支援的Windows版本 支援的Microsoft Visual Studio版本 cuda下載地址:http://developer.nvidia.com/cuda-downloa

centos7使用kubeadm安裝kubernetes 1.12版本

最近在學習go 模板語法  還是有點小忙 !   感覺寫這種 kuberadm 搭建 kubernetes  還是有點水  好吧 可能我太高調了  前前後後搭過四 五次了  ! kuber



《從01學習Flink》—— Mac 上搭建 Flink 1.6.0 環境並構建執行簡單程式入門

準備工作 1、安裝檢視 Java 的版本號,推薦使用 Java 8。 安裝 Flink 2、在 Mac OS X 上安裝 Flink 是非常方便的。推薦通過 homebrew 來安裝。 brew install apache-flink 複製程式碼 3、檢查安裝: flink --

centos7.5版本安裝nginx.1.14.0時需要安裝的依賴

這是我所使用的linux版本7.5的,建議大家在虛擬機器中安裝好linux之後快照備份一下 安裝好系統後想要安裝lnmp環境,先安裝nginx 我下的nginx的tar包是nginx-1.14.0這個版本 參考朋友寫的nginx原始碼安裝文章安裝nginx https://no

【原始碼】魔方模擬器與求解器version 1.9.0.0

本程式能夠產生一個任意尺寸的隨機打亂的立方體,可以通過手動操作或者由計算機求解進行魔方復原。 This program allows you to generate arandomly scramble cube of arbitrary dimension which can t

centos7使用kubeadm安裝kubernetes 1.11版本多主高可用_Kubernetes中文社群

大佬,你好,照著這個方法搭建的成功後,卻無法使用heapster監控,部署後報錯heapster容器報錯 I0816 10:04:59.743015 1 heapster.go:72] /heapster –source=kubernetes:https://kubernetes.default