鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 一、環境要求 系統版本:CentOS7.x版本 硬體配置:記憶體2GB以上 cpu2核以上 硬碟大於30G 集群網路配置:集群中所有伺服器內網必須互通,並且需要訪問外網來拉取鏡像 禁用swap分區 二、k8s基礎環境操作: 1、關閉防火牆: [ro ...
鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站
一、環境要求
系統版本:CentOS7.x版本
硬體配置:記憶體2GB以上 cpu2核以上 硬碟大於30G
集群網路配置:集群中所有伺服器內網必須互通,並且需要訪問外網來拉取鏡像
禁用swap分區
二、k8s基礎環境操作:
1、關閉防火牆:
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
2、關閉selinux:
[root@localhost ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config
[root@localhost ~]# getenforce
3、關閉swap分區:
臨時關閉:
[root@localhost ~]# swapoff -a
永久關閉:註釋掉/etc/fstab文件中的swap行
4、進行hosts文件編輯:
192.168.8.146 k8s-master
192.168.8.141 k8s-node1
192.168.8.129 k8s-node2
5、將橋接的IPv4流量傳遞到iptables的鏈
[root@localhost ~]# cat > /etc/sysctl.d/k8s.conf << EOF
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF
[root@localhost ~]# sysctl --system
6、開啟IP轉發功能
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
三、安裝docker(三台機器都操作)
1、卸載舊版docker
[root@localhost ~]# yum remove docker docker-common docker-selinux docker-engine
2、安裝一些必要的系統工具
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
3、配置docker的穩定版本倉庫
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、更新安裝包索引
[root@localhost ~]# yum makecache fast
5、安裝docker ce
[root@localhost ~]# yum -y install docker-ce-18.06.1.ce-3.el7
6、開機自啟和啟動docker
[root@localhost ~]# systemctl enable docker && systemctl start docker
7、查看docker版本
[root@localhost ~]# docker --version
8、添加阿裡雲YUM軟體源
[root@localhost ~]# vim /etc/yum.repos.d/kubernetes.repo
[Kubernetes]
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
9、
[root@localhost ~]# yum clean all
10、
[root@localhost ~]# yum makecache
安裝kubeadm,kubelet和kubectl
11、由於版本更新頻繁,這裡指定版本號部署:
[root@localhost ~]# yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
[root@localhost ~]# systemctl enable kubelet
四、部署Kubernetes Master(這個在master主機里操作):
[root@k8s-master~]#kubeadm init --apiserver-advertise-address=192.168.8.146 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.15.0 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16
註意:192.168.8.146ip是master主機的ip地址
五、配置kubectl訪問集群(三台機器操作):
1、
[root@localhost ~]# mkdir -p $HOME/.kube
2、
[root@k8s-master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
3、
[root@k8s-master ~]# chown $(id -u):$(id -g) $HOME/.kube/config
六、Master安裝flannel(主機master里操作):
[root@k8s-master~]#kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
1、查看索引pod
[root@k8s-master ~]# kubectl get pod -n kube-system
2、查看節點
[root@k8s-master ~]# kubectl get node
七、加入node節點(在兩台node上做):
1、
[root@k8s-node1 ~]# kubeadm join 192.168.8.146:6443 --token vhykt2.0jjdgdcnclxhts41 --discovery-token-ca-cert-hash sha256:bf42d67996e593a1e5844ba717d97e1249ed85bf86d83322b88c108d2f6a3dc1
2、查看node1節點是否成功(在node1上做)
[root@k8s-node1 ~]# docker ps
八、查看節點信息(在master操作)
[root@k8s-master ~]# kubectl get node
九、部署dashboard(master主機操作)
[root@k8s-master~]#wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
1、
[root@k8s-master ~]# vim kubernetes-dashboard.yaml
2、安裝dashboard
[root@k8s-master ~]# kubectl apply -f kubernetes-dashboard.yaml
3、使用master節點ip地址+埠來訪問,協議是https的
查看Dashboard埠信息:
[root@k8s-master ~]# kubectl --namespace=kube-system get service kubernetes-dashboard
4、以我自己的伺服器為訪問對象,使用 https://172.16.204.130:30310即可訪問
5、Token
[root@k8s-master ~]# kubectl create serviceaccount dashboard-admin -n kube-system
[root@k8s-master~]#kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
[root@k8s-master ~]# kubectl get secret -n kube-system
6、查看token的具體信息
[root@k8s-master~]# kubectl describe secret dashboard-admin-token-92djb -n kube-system
7、把密令輸入在令牌中
8、登陸成功的頁面:
本文轉自:https://blog.51cto.com/u_15397018/5367484