kubernetes1.4.5安裝文檔
所以今天給大家介紹kubernetes1.4.5版本的安裝過程。
預備條件:1、操作系統:CentOS7.22、docker版本:1.123、kubernetes版本:1.4.5本安裝說明以三台機器為例說明;
1、初始化環境最開始的對系統文件進行更新處理yum update -y然後對所有節點做好安裝前的規劃:節點(hostname)IPkube0110.9.5.30kube0210.9.5.31
kube0310.9.5.55我們可以使用一下命令修改所有節點的hostname:hostnamectl --static set-hostname <hostname>另外,我們還需要在所有的節點上修改/etc/hosts文件:echo "10.9.5.30 kube0110.9.5.31 kube0210.9.5.55 kube03" >> /etc/hosts
2、部署kubernetes master(1)添加kubernetes的yum源:------------------------------------------------------ncat <<EOF> /etc/yum.repos.d/k8s.repon[kubelet]nname=kubeletnbaseurl=http://files.rm-rf.ca/rpms/kubelet/nenabled=1ngpgcheck=0nEOF
n------------------------------------------------------nyum makecacheyum install -y socat kubelet kubeadm kubectl kubernetes-cniyum makecache 本地建立緩存,同時安裝socat kubelet kubeadm kubectl kubernetes-cni等組件(2)安裝並啟動dockerwget -qO- https://get.docker.com/ | shnsystemctl 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[@]} ; dodocker pull jicki/$imageNamedocker tag jicki/$imageName http://gcr.io/google_containers/$imageNamedocker rmi jicki/$imageName
done(4)啟動kubeletsystemctl enable kubeletnsystemctl start kubelet啟動kubelet的過程中會出現上述問題,此時是正常的。(5)創建集群主節點masterkubeadm init --api-advertise-addresses=10.9.5.30 --use-kubernetes-version v1.4.5yum install -y ebtables
=========到此,kubernetes master節點安裝成功!=========3、部署kubernetes slave(1)安裝dockerwget -qO- https://get.docker.com/ | shnsystemctl enable dockernsystemctl 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 checkspreflight 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 https://git.io/weave-kube(2)可以設置其他slave節點控制集群將master節點上的配置文件,拷貝到slave節點上# 備份master節點的 配置文件n/etc/kubernetes/admin.confn# 保存至 其他電腦, 通過執行配置文件控制集群nkubectl --kubeconfig ./admin.conf get nodes5、啟動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" creatednservice "kubernetes-dashboard" created# 查看 NodePort ,既外網訪問埠nkubectl describe svc kubernetes-dashboard --namespace=kube-systemNodePort: <unset> 30742/TCP在瀏覽器上中訪問:http://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 |