kubeadm 部署kubernetes1.11.1,dashboard1.10.0


---恢復內容開始---

實驗環境准備2台虛擬機:

  master節點:172.17.1.36

  node節點:172.17.1.40

首先安裝master節點:

master 的虛擬機是全新的機器,在安裝kubernetes之前的做下准備工作

關閉防火牆

systemctl stop firewalld

systemctl disable firewalld

hostname master   ,並且修改/etc/hostname

關閉selinux

setenforce 0  永久關閉修改配置文件/etc/selinux/config       修改成SELINUX=disabled

准備docker  和kubernetes的repo文件

cd /etc/yum.repos.d/

vi  docker-ce.repo 

[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-edge]
name=Docker CE Edge - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/edge
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-edge-debuginfo]
name=Docker CE Edge - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/edge
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-edge-source]
name=Docker CE Edge - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/edge
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

vi  kubernetes.repo

[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1   #不想驗證這里改成0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
enableld=1

rpm --import rpm-package-key.gpg   導入下gpgkey

yum install docker-ce kubeadm-1.11.1 kubectl-1.11.1 kubelet-1.11.1   我安裝是的1.11.1的版本

啟動docker,並設置開機啟動

systemctl start docker

systemctl enable docker

確保橋接的狀態是打開的,返回是1說明是正常的

systemctl enable kubelet  開機啟動kubelet   ,不要啟動,因為配置沒有初始化完成

vim /etc/sysconfig/kubelet 忽略swap on 開啟集群不能初始化得錯誤
KUBELET_EXTRA_ARGS="--fail-swap-on=false"

kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap  初始化集群

 注意:初始化的時候需要以下的docker 鏡像,由於某些不可描述的原因,下載不了,我這里是准備好的鏡像文件導入的

[k8s.gcr.io/kube-apiserver-amd64:v1.11.1]
[k8s.gcr.io/kube-controller-manager-amd64:v1.11.1]
[k8s.gcr.io/kube-scheduler-amd64:v1.11.1]
[k8s.gcr.io/kube-proxy-amd64:v1.11.1]
[k8s.gcr.io/pause:3.1
[k8s.gcr.io/etcd-amd64:3.2.18]
[k8s.gcr.io/coredns:1.1.3]

出現這個界面是說明初始化完成!

kubeadm join 172.17.1.36:6443 --token 0kyf48.b4aevmeo1wdylowk --discovery-token-ca-cert-hash sha256:587072eb329d8af7bb52241ab52f6b27d8496dfc99ac1371686b05dcadc3e029   這個是node節點加入集群的命令,最好保存下

根據提示做這2不操作

[root@master yum.repos.d]# mkdir -p $HOME/.kube
[root@master yum.repos.d]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

最后安裝flannel 網絡插件

 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

這里下載flannel的鏡像   quay.io/coreos/flannel:v0.10.0-amd64

驗證下集群的狀態

這樣集群的master節點安裝完成!

安裝node節點

和master節點一樣,需要docker-ce.repo,kubernetes.repo,還有關閉防火牆,關閉selinux,操作和master一樣

yum install docker-ce kubeadm-1.11.1 kubelet-1.11.1

vim /etc/sysconfig/kubelet 忽略swap on 開啟集群不能初始化得錯誤
KUBELET_EXTRA_ARGS="--fail-swap-on=false"

加入集群:

kubeadm join 172.17.1.36:6443 --token 0kyf48.b4aevmeo1wdylowk --discovery-token-ca-cert-hash sha256:587072eb329d8af7bb52241ab52f6b27d8496dfc99ac1371686b05dcadc3e029 --ignore-preflight-errors=Swap

node 上要有以下鏡像:

[k8s.gcr.io/kube-proxy-amd64:v1.11.1]
[k8s.gcr.io/pause:3.1

quay.io/coreos/flannel:v0.10.0-amd64

 在master節點下查看下狀態

完工,kubernetes 部署完成!

部署dashboard

提前把k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0 導入到node節點,當讓有梯子的人就不用了

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml  應用dashboard的部署文件

已經部署好了,

創建serviceaccount 用於登陸dashboard

kubectl create serviceaccount dashboard-admin -n kube-system

創建clusterrolebinding

kubectl create clusterrolebinding cluster-dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

查找剛剛生成的secret

 

 

 

 這里我登陸dashboard用的是secret的token

把剛剛dashboard船艦的service 的類型改成NodePort  ,可以在部署dashboard的時候修改下yaml文件

kubectl patch svc kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}' -n kube-system

 

 登陸dashboard

 

 選擇令牌

輸入剛剛secret的token

dashboard部署完成!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM