软件安装 Docker,Kubelet(k8s的核心),kubeadm(集群的管理核心),Kubectl
Master上创建集群 kubeadm init & kubeadm apply
Node加入集群 kubeadm join
整体架构 VMWare中两台虚拟机 192.168.127.136, 192.168.127.137
安装要求:
在开始之前,部署Kubernetes集群机器需要满足以下几个条件:
一台或多台机器,操作系统 CentOS7.x-86_x64
硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
集群中所有机器之间网络互通
可以访问外网,需要拉取镜像
禁止swap分区
一、在两台虚拟机上分别安装Docker, kubelet kubeadm kubectl
1、安装Docker
$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce-18.06.1.ce-3.el7
$ systemctl enable docker && systemctl start docker
$ docker --version
Docker version 18.06.1-ce, build e68fc7a
2、准备工作
1) 关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
2) 关闭swap
swapoff -a //临时关闭
vi /etc/fstab //永久关闭,删除swap配置哪一行
3) vi /etc/hosts
192.168.127.137为node2
4) 将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF
sysctl --system
5) 关闭selinux:
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
3、添加阿里云YUM软件源
cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=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 https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
4、安装kubeadm, kubelet和kubectl
yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
systemctl enable kubelet //设置服务开机启动
systemctl restart kubelet //启动kubelet
5、部署Kubernetes Master
在192.168.127.136上执行
kubeadm init \ --apiserver-advertise-address=192.168.127.136 \ --image-repository registry.aliyuncs.com/google_containers \ --service-cidr=10.1.0.0/16 \ --pod-network-cidr=10.244.0.0/16
显示如下信息,按步骤执行
[root@localhost ~]# mkdir -p $HOME/.kube [root@localhost ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config [root@localhost ~]# chown $(id -u):$(id -g) $HOME/.kube/config
6、安装Pod网络插件(CNI)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
查看kube-flannel是否running状态
kubectl get pods -n kube-system
7、192.168.127.137这台执行join
kubeadm join 192.168.127.136:6443 --token tt3r8l.byjvaj43vpyr9047 --discovery-token-ca-cert-hash sha256:fd6d84bf2c71c6c1b609f2b49bd03b1602421c1944fa00ce84c57f0eeb65d776
查看node
kubectl get node
8、测试集群
在Kubernetes集群中创建一个pod,验证是否正常运行。
1)、创建nginx容器
kubectl create deployment nginx --image=nginx
2) 暴露对外端口
kubectl expose deployment nginx --port=80 --type=NodePort
3) 查看nginx是否允许成功
kubectl get pod,svc
访问Nginx,端口30941
9、部署Dashboard
1) 先Docker拉取镜像
docker pull lizhenliang/kubernetes-dashboard-amd64:v1.10.1
2) 执行kubernetes-dashboard.yaml
下载kubernetes-dashboard.yaml, 地址:https://www.lanzous.com/i8jjpij ,将文件保存在/home/tools文件夹下
执行kubernetes-dashboard.yaml
查看暴露的接口
kubectl get pods,svc -n kube-system
3) 访问Dashboard的web界面
使用火狐浏览器打开https://192.168.127.136:30001
创建service account并绑定默认cluster-admin管理员集群角色:
kubectl create serviceaccount dashboard-admin -n kube-system kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
将生成的token复制到“输入令牌”
然后进入Kubernetes Dashboard界面
作者:Work Hard Work Smart
出处:http://www.cnblogs.com/linlf03/
欢迎任何形式的转载,未经作者同意,请保留此段声明!