close

上篇 http://echochio.pixnet.net/blog/post/44857027

繼續裝Kubelet  .....

可參考我的 git  .......https://github.com/echochio-tw/CoreOS-Kubelet-Script
抓 git 最快 ....跑 script 就裝好了

下面就詳述如何安裝的 ......

抓  kubectl

先看最新版本 用瀏覽器看  https://github.com/kubernetes/kubernetes/releases
現在是 1.6.0 .....不要抓 bata 版 .....

 

抓檔案 ...放到 /opt/bin ....三台都做

coreos1 ~ # mkdir /opt
coreos1 ~ # mkdir /opt/bin
coreos1 ~ # cd /opt/bin
coreos1 bin # curl -O  https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/kube-proxy
coreos1 bin # curl -O  https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/e2e
coreos1 bin # curl -O  https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/kube-apiserver
coreos1 bin # curl -O  https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/kubecfg
coreos1 bin # curl -O  https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/kubelet
coreos1 bin # curl -O  https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/integration
coreos1 bin # curl -O  https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/kube-controller-manager
coreos1 bin # curl -O  https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/kubectl
coreos1 bin # curl -O  https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/kubernetes
coreos1 bin # curl -O  https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/kube-scheduler
coreos1 bin # chmod +x *
coreos1 bin # ls -l
total 615300
-rwxr-xr-x. 1 root root       127 Mar 30 11:09 e2e
-rwxr-xr-x. 1 root root       127 Mar 30 11:11 integration
-rwxr-xr-x. 1 root root 149384995 Mar 30 11:10 kube-apiserver
-rwxr-xr-x. 1 root root 131606504 Mar 30 11:12 kube-controller-manager
-rwxr-xr-x. 1 root root  64016146 Mar 30 11:09 kube-proxy
-rwxr-xr-x. 1 root root  75637793 Mar 30 13:40 kube-scheduler
-rwxr-xr-x. 1 root root       127 Mar 30 11:10 kubecfg
-rwxr-xr-x. 1 root root  70704507 Mar 30 11:12 kubectl
-rwxr-xr-x. 1 root root 138647424 Mar 30 11:11 kubelet
-rwxr-xr-x. 1 root root       127 Mar 30 11:12 kubernetes
 

master 要有這些 service :

apiserver.service
controller-manager.service

node 要有這些 service :

scheduler.service
proxy.service
kubelet.service

先做 apiserver.service

檔案 /etc/systemd/system/apiserver.service
 

[Unit]
Description=Kubernetes API Server
After=etcd2.service
After=docker.service
Wants=etcd2.service
Wants=docker.service

[Service]
ExecStart=/opt/bin/kube-apiserver \
--insecure-bind-address=192.168.0.69 \
--insecure-port=8080 \
--etcd_servers=http://192.168.0.69:2379,http://192.168.0.70:2369,http://192.168.0.71:2369 \
--service-cluster-ip-range=172.17.0.0/16 \
--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota \
--anonymous-auth=false \
--storage-backend=etcd2 \
--logtostderr=true
ExecStartPost=-/bin/bash -c "until /usr/bin/curl http://192.168.0.69:8080; do echo \"waiting for API server to come online...\"; sleep 3; done"
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

開啟 apiserver.service 及查看服務

coreos1 bin # systemctl daemon-reload
coreos1 bin # systemctl start apiserver.service
coreos1 bin # systemctl enable apiserver.service 
Created symlink /etc/systemd/system/multi-user.target.wants/apiserver.service → /etc/systemd/system/apiserver.service.
coreos1 bin # systemctl status apiserver.service
● apiserver.service - Kubernetes API Server
   Loaded: loaded (/etc/systemd/system/apiserver.service; static; vendor preset: disabled)
   Active: activating (start-post) since Thu 2017-03-30 11:40:20 CST; 2s ago
 Main PID: 2681 (kube-apiserver); Control PID: 2682 (bash)
    Tasks: 11
   Memory: 469.2M
      CPU: 1.656s
   CGroup: /system.slice/apiserver.service
           ├─2681 /opt/bin/kube-apiserver --insecure-bind-address=192.168.0.69 --insecure-port=8080 --etcd_servers=http://127.0.0.1:2379 --service-cluster-ip-range=172.17.0.0/16 --logtostderr=true
           └─control
             ├─2682 /bin/bash -c until /usr/bin/curl http://192.168.0.69:8080; do echo "waiting for API server to come online..."; sleep 3; done
             └─2699 sleep 3

Mar 30 11:40:21 coreos1 bash[2682]:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Mar 30 11:40:21 coreos1 bash[2682]:                                  Dload  Upload   Total   Spent    Left  Speed
Mar 30 11:40:21 coreos1 bash[2682]: [152B blob data]
Mar 30 11:40:21 coreos1 bash[2682]: waiting for API server to come online...
Mar 30 11:40:21 coreos1 kube-apiserver[2681]: W0330 11:40:21.255026    2681 authentication.go:362] AnonymousAuth is not allowed with the AllowAll authorizer.  Resetting AnonymousAuth to false. You should
Mar 30 11:40:21 coreos1 kube-apiserver[2681]: E0330 11:40:21.604295    2681 reflector.go:201] k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/factory.go:70: Failed to list *api.
Mar 30 11:40:21 coreos1 kube-apiserver[2681]: [restful] 2017/03/30 11:40:21 log.go:30: [restful/swagger] listing is available at https://192.168.0.69:6443/swaggerapi/
Mar 30 11:40:21 coreos1 kube-apiserver[2681]: [restful] 2017/03/30 11:40:21 log.go:30: [restful/swagger] https://192.168.0.69:6443/swaggerui/ is mapped to folder /swagger-ui/
Mar 30 11:40:21 coreos1 kube-apiserver[2681]: I0330 11:40:21.692867    2681 serve.go:79] Serving securely on 0.0.0.0:6443
Mar 30 11:40:21 coreos1 kube-apiserver[2681]: I0330 11:40:21.692957    2681 serve.go:94] Serving insecurely on 192.168.0.69:8080



coreos1 bin # netstat -natp |grep 8080
tcp        0      0 192.168.0.69:8080       0.0.0.0:*               LISTEN      2576/kube-apiserver
tcp        0      0 192.168.0.69:45314      192.168.0.69:8080       TIME_WAIT   -

裝 kube-controller

檔案 /etc/systemd/system/controller-manager.service
 

[Unit]
Description=Kubernetes Controller Manager
After=etcd2.service
After=docker.service
After=apiserver.service
Wants=etcd2.service
Wants=docker.service
Wants=apiserver.service

[Service]
ExecStart=/opt/bin/kube-controller-manager \
--master=http://192.168.0.69:8080 \
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

開啟 kube-controller 及查看服務
 

coreos1 bin # systemctl daemon-reload
coreos1 bin # systemctl start controller-manager.service
coreos1 bin # netstat -natp |grep kube-contro
tcp        0      0 192.168.0.69:60748      192.168.0.69:8080       ESTABLISHED 3645/kube-controlle
tcp6       0      0 :::10252                :::*                    LISTEN      3645/kube-controlle
coreos1 bin # systemctl enable controller-manager.service
Created symlink /etc/systemd/system/multi-user.target.wants/controller-manager.service → /etc/systemd/system/controller-manager.service.
coreos1 bin #

裝 kube-scheduler

編譯 /etc/systemd/system/scheduler.service

[Unit]
Description=Kubernetes Scheduler
After=etcd2.service
After=docker.service
Wants=etcd2.service
Wants=docker.service

[Service]
ExecStart=/opt/bin/kube-scheduler --master=192.168.0.69:8080
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

啟動 Scheduler 

coreos1 ~ # systemctl enable scheduler.service
Created symlink /etc/systemd/system/multi-user.target.wants/scheduler.service → /etc/systemd/system/scheduler.service.
coreos1 ~ # systemctl start scheduler.service
coreos1 ~ # systemctl status scheduler.service
● scheduler.service - Kubernetes Scheduler
   Loaded: loaded (/etc/systemd/system/scheduler.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2017-03-30 13:45:42 CST; 6s ago
 Main PID: 5208 (kube-scheduler)
    Tasks: 7
   Memory: 7.2M
      CPU: 83ms
   CGroup: /system.slice/scheduler.service
           └─5208 /opt/bin/kube-scheduler --master=192.168.0.69:8080

Mar 30 13:45:42 coreos1 systemd[1]: Started Kubernetes Scheduler.
Mar 30 13:45:42 coreos1 kube-scheduler[5208]: I0330 13:45:42.600891    5208 leaderelection.go:179] attempting to acquire leader lease...

裝 kube-proxy

編譯 /etc/systemd/system/proxy.service

[Unit]
Description=Kubernetes proxy server
After=etcd2.service
After=docker.service
Wants=etcd2.service
Wants=docker.service

[Service]
ExecStart=/opt/bin/kube-proxy --master=http://192.168.0.69:8080 --logtostderr=true
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

啟動 proxy

coreos1 ~ # systemctl daemon-reload
coreos1 ~ # systemctl start proxy.service
coreos1 ~ # systemctl status proxy.service
● proxy.service - Kubernetes proxy server
   Loaded: loaded (/etc/systemd/system/proxy.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2017-03-30 13:56:02 CST; 14s ago
 Main PID: 5453 (kube-proxy)
    Tasks: 7
   Memory: 7.9M
      CPU: 118ms
   CGroup: /system.slice/proxy.service
           └─5453 /opt/bin/kube-proxy --master=http://192.168.0.69:8080 --logtostderr=true

Mar 30 13:56:02 coreos1 systemd[1]: Started Kubernetes proxy server.
Mar 30 13:56:02 coreos1 kube-proxy[5453]: I0330 13:56:02.715442    5453 server.go:225] Using iptables Proxier.
coreos1 ~ # systemctl enable proxy.service
Created symlink /etc/systemd/system/multi-user.target.wants/proxy.service → /etc/systemd/system/proxy.service.
coreos1 ~ # netstat -natp |grep kube-proxy
tcp        0      0 192.168.0.69:42648      192.168.0.69:8080       ESTABLISHED 5453/kube-proxy
tcp        0      0 192.168.0.69:42646      192.168.0.69:8080       ESTABLISHED 5453/kube-proxy

裝 kubelet.service

編譯 /etc/systemd/system/kubelet.service

[Unit]
Description=Kubernetes Kubelet
After=etcd2.service
After=docker.service
After=scheduler.service
After=proxy.service
Wants=etcd2.service
Wants=docker.service
Wants=scheduler.service
Wants=proxy.service

[Service]
EnvironmentFile=/etc/environment
ExecStart=/opt/bin/kubelet \
 --api-servers=http://192.168.0.69:8080 \
 --pod-manifest-path=/etc/kubernetes/manifests \
 --logtostderr=true
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target


啟動 kubelet.service

coreos1 ~ # systemctl daemon-reload 
coreos1 ~ # systemctl enable kubelet.service
coreos1 ~ # systemctl start kubelet.service
coreos1 ~ # systemctl status kubelet.service
● kubelet.service - Kubernetes Kubelet
   Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2017-03-30 17:15:32 CST; 26s ago
 Main PID: 12219 (kubelet)
    Tasks: 16
   Memory: 42.2M
      CPU: 1.145s
   CGroup: /system.slice/kubelet.service
           ├─12219 /opt/bin/kubelet --api-servers=http://192.168.0.69:8080 --pod-manifest-path=/etc/kubernetes/manifests --logtostderr=true
           └─12272 journalctl -k -f

Mar 30 17:15:33 coreos1 kubelet[12219]: I0330 17:15:33.230130   12219 factory.go:54] Registering systemd factory
Mar 30 17:15:33 coreos1 kubelet[12219]: I0330 17:15:33.230708   12219 factory.go:86] Registering Raw factory
Mar 30 17:15:33 coreos1 kubelet[12219]: I0330 17:15:33.238602   12219 manager.go:1106] Started watching for new ooms in manager
Mar 30 17:15:33 coreos1 kubelet[12219]: I0330 17:15:33.248375   12219 oomparser.go:185] oomparser using systemd
Mar 30 17:15:33 coreos1 kubelet[12219]: I0330 17:15:33.249794   12219 manager.go:288] Starting recovery of all containers
Mar 30 17:15:33 coreos1 kubelet[12219]: I0330 17:15:33.324436   12219 kubelet_node_status.go:230] Setting node annotation to enable volume controller attach/detach
Mar 30 17:15:33 coreos1 kubelet[12219]: I0330 17:15:33.325833   12219 kubelet_node_status.go:77] Attempting to register node coreos1
Mar 30 17:15:33 coreos1 kubelet[12219]: I0330 17:15:33.381056   12219 manager.go:293] Recovery completed
Mar 30 17:15:34 coreos1 kubelet[12219]: I0330 17:15:34.223386   12219 kubelet_node_status.go:128] Node coreos1 was previously registered
Mar 30 17:15:34 coreos1 kubelet[12219]: I0330 17:15:34.223420   12219 kubelet_node_status.go:80] Successfully registered node coreos1


上線可看到 

三個 node 都加上  kubelet.

如果無法用 /opt/bin/kubectl ...要改檔案 ~/.kube/config 內容是

apiVersion: v1
clusters:
- cluster:
    server: http://192.168.0.69:8080
  name: default-cluster
contexts:
- context:
    cluster: default-cluster
    user: default-admin
  name: default-system
current-context: default-system
kind: Config
preferences: {}
users:
- name: default-admin
  user: {}

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 echochio 的頭像
    echochio

    echochio

    echochio 發表在 痞客邦 留言(0) 人氣()