安裝單機k8s踩的一些坑

環境

  • 操作系統:centos7
  • docker:1.13.1
  • 用戶: root
  • 自己本機已經有docker 如果沒有 下面的命令也會自動安裝

步驟:

1、 systemctl disable firewalld    //先關閉防火牆
2、yum install -y etcd kubernetes  //yum安裝 可以自動安裝docker
3、修改一下docker配置文件  /etc/sysconfig/docker, 
參數:OPTIONS=’–selinux-enabled=false –insecure-registry gcr.io’
4、因爲是單機版本:把Kubernetes apiservce配置文件 /etc/kubernetes/apiserver中
KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,ServiceAccount,LimitRanger,ResourceQuota"中的ServiceAccount給刪掉,
5、按照以下順序依次啓動:
    systemctl start etcd
    systemctl start docker
    systemctl start kube-apiserver
    systemctl start kube-controller-manager
    systemctl start kube-scheduler
    systemctl start kubelet
    systemctl start kube-proxy
6、啓動完成之後執行命令 kubectl version 出現以下則成功
   Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2",GitCommit:"269f928217957e7126dc87e6adfa82242bfe5b1e", GitTreeState:"clean", BuildDate:"2017-07-03T15:31:10Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
   Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"269f928217957e7126dc87e6adfa82242bfe5b1e", GitTreeState:"clean", BuildDate:"2017-07-03T15:31:10Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}

出現問題:

第一個問題:執行: systemctl start kube-apiserver   命令時候報: 
kube-apiserver.service: main process exited, code=exited, status=255/n/a 問題:
此處端口衝突了,默認8080和自己本地一個服務衝突,然後將kube-apiserver端口修改了:
配置文件: /etc/kubernetes/apiserver 參數 KUBE_API_PORT 然後啓動之後沒什麼問題
第二個問題: 再所有服務啓動完成之後執行命令  kubectl version,然後出現了:客戶端正常:
服務端出現了: Error from server (BadRequest): the server rejected our request for  an unknow,
服務端拒絕了連接。說明了,kube-apiserver 啓動沒有成功,有問題。
解決: 因爲k8s默認使用的是8080,需要修改很多配置默認端口,自己是將自己的本地測試服務的
端口8080修改了,將k8s的 kube-apiserver 服務的端口又改爲了8080(此處參照上一個問題修改端
口),然後重啓kube-apiserver 服務,重啓完成後輸入 kubectl version 出現了第三個問題:
第三個問題:The connection to the server localhost:8080 was refused - did you specify the right 
host or port?
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"269f928217957e7126dc87e6adfa82242bfe5b1e", GitTreeState:"clean", BuildDate:"2017-07-03T15:31:10Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?
這個問題是因爲沒有按照啓動順序重啓:坑爹
systemctl restart etcd
    systemctl restart docker
    systemctl restart kube-apiserver
    systemctl restart kube-controller-manager
    systemctl restart kube-scheduler
    systemctl restart kubelet
    systemctl restart kube-proxy
依次重啓之後安裝完成:輸入kubectl  version
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"269f928217957e7126dc87e6adfa82242bfe5b1e", GitTreeState:"clean", BuildDate:"2017-07-03T15:31:10Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"269f928217957e7126dc87e6adfa82242bfe5b1e", GitTreeState:"clean", BuildDate:"2017-07-03T15:31:10Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
大功告成

參考博客:

k8s入門、安裝、實踐
k8s中文文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章