標籤:

kubernetes1.4.5安裝文檔

kubernetes一直以一種非常快的方式更新和迭代,轉眼之間版本都更新到了1.5.2。

所以今天給大家介紹kubernetes1.4.5版本的安裝過程。

預備條件:

1、操作系統:CentOS7.2

2、docker版本:1.12

3、kubernetes版本:1.4.5

本安裝說明以三台機器為例說明;

1、初始化環境

最開始的對系統文件進行更新處理

yum update -y

然後對所有節點做好安裝前的規劃:

節點(hostname)

IP

kube01

10.9.5.30

kube02

10.9.5.31

kube03

10.9.5.55

我們可以使用一下命令修改所有節點的hostname:

hostnamectl --static set-hostname <hostname>

另外,我們還需要在所有的節點上修改/etc/hosts文件:

echo "

10.9.5.30 kube01

10.9.5.31 kube02

10.9.5.55 kube03

" >> /etc/hosts

2、部署kubernetes master

(1)添加kubernetes的yum源:

------------------------------------------------------

ncat <<EOF> /etc/yum.repos.d/k8s.repo

n[kubelet]

nname=kubelet

nbaseurl=files.rm-rf.ca/rpms/kub

nenabled=1

ngpgcheck=0

nEOF

n------------------------------------------------------

nyum makecache

yum install -y socat kubelet kubeadm kubectl kubernetes-cni

yum makecache 本地建立緩存,

同時安裝socat kubelet kubeadm kubectl kubernetes-cni等組件

(2)安裝並啟動docker

wget -qO- get.docker.com/ | sh

nsystemctl enable docker

systemctl start docker

如果出現:

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

表示docker並沒有啟動,通過systemctl start docker可以啟動。

(3)啟動好docker後下載kubernetes所需要的鏡像至本地

images=(kube-proxy-amd64:v1.4.5 kube-discovery-amd64:1.0 kubedns-amd64:1.7 kube-scheduler-amd64:v1.4.5 kube-controller-manager-amd64:v1.4.5 kube-apiserver-amd64:v1.4.5 etcd-amd64:2.2.5 kube-dnsmasq-amd64:1.3 exechealthz-amd64:1.1 pause-amd64:3.0 kubernetes-dashboard-amd64:v1.4.1)

for imageName in ${images[@]} ; do

docker pull jicki/$imageName

docker tag jicki/$imageName gcr.io/google_container$imageName

docker rmi jicki/$imageName

done

(4)啟動kubelet

systemctl enable kubelet

nsystemctl start kubelet

啟動kubelet的過程中會出現上述問題,此時是正常的。

(5)創建集群主節點master

kubeadm init --api-advertise-addresses=10.9.5.30 --use-kubernetes-version v1.4.5

如果出現上述情形,表示集群master節點安裝成功,並記錄token值 「kubeadm join --token=8f8c1e.7911738ca2a9193f 10.9.5.30」

如果出現下列情況:

Running pre-flight checks

preflight check errors:

/etc/kubernetes is not empty

ebtables not found in system path

解決辦法:

rm -rf /etc/kubernetes/

yum install -y ebtables

=========到此,kubernetes master節點安裝成功!=========

3、部署kubernetes slave

(1)安裝docker

wget -qO- get.docker.com/ | sh

nsystemctl enable docker

nsystemctl start docker

(2)安裝kubernetes集群基礎組件

yum install -y socat kubelet kubeadm kubectl kubernetes-cni

(3)將本節點加入集群

kubeadm join --token=8f8c1e.7911738ca2a9193f 10.9.5.30

出現以下情形,表明加入集群成功:

如果出現下列情況:

Running pre-flight checks

preflight check errors:

/etc/kubernetes is not empty

ebtables not found in system path

解決辦法:

rm -rf /etc/kubernetes/

yum install -y ebtables

在master節點上使用「kubectl get nodes」出現以下情形表示成功!:

=======到此,kubernetes集群 slave節點加入集群成功==========

4、配置kubernetes

(1)配置pod網路

kubectl apply -f git.io/weave-kube

(2)可以設置其他slave節點控制集群

將master節點上的配置文件,拷貝到slave節點上

# 備份master節點的 配置文件

n/etc/kubernetes/admin.conf

n# 保存至 其他電腦, 通過執行配置文件控制集群

nkubectl --kubeconfig ./admin.conf get nodes

5、啟動dashborad

#下載 yaml 文件, 直接導入會去官方拉取imagesnncurl -O https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yamlnnn#編輯 yaml 文件nnvi kubernetes-dashboard.yamlnnimage: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.0nn修改為nnimage: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.1nnnimagePullPolicy: Alwaysnn修改為nnimagePullPolicy: IfNotPresentn

kubectl create -f ./kubernetes-dashboard.yaml

ndeployment "kubernetes-dashboard" created

nservice "kubernetes-dashboard" created

# 查看 NodePort ,既外網訪問埠

nkubectl describe svc kubernetes-dashboard --namespace=kube-system

NodePort: <unset> 30742/TCP

在瀏覽器上中訪問:10.9.5.30:30742 既可進入到kubernetes的web界面。

其他問題及解決方案:

failed to create "kube-discovery" deployment [deployments.extensions "kube-discovery" already exists]n nnsystemctl stop kubelet;ndocker rm -f -v $(docker ps -q);nfind /var/lib/kubelet | xargs -n 1 findmnt -n -t tmpfs -o TARGET -T | uniq | xargs -r umount -v;nrm -r -f /etc/kubernetes /var/lib/kubelet /var/lib/etcd;nnsystemctl start kubeletnnkubeadm initn

推薦閱讀:

編排工具充分發揮了 Linux 容器技術優勢
漫畫:小黃人學 Kubernetes Service
梁勝關於容器的年終總結,沒再提Docker
使用Heapster和Splunk監控Kubernetes運行性能
docker 編排工具 2017最佳選擇是 swarm/kubernetes/Mesos ?

TAG:Kubernetes |