k8s-master | 192.168.1.100 |
---|---|
k8s-node1 | 192.168.1.101 |
k8s-node2 | 192.168.1.102 |
1.前置工作
1.1修改主机名
hostnamectl set-hostname k8s-master #修改192.168.1.100主机名为k8s-master
hostnamectl set-hostname k8s-node1 #修改192.168.1.101主机名为k8s-node1
hostnamectl set-hostname k8s-node2 #修改192.168.1.102主机名为k8s-node2
1.2修改hosts文件
vim /etc/hosts
192.168.1.100 k8s-master
192.168.1.101 k8s-node1
192.168.1.102 k8s-node2
1.3关闭防火墙
systemctl stop firewalld #暂时关闭防火墙
systemctl disable firewalld # 永久关闭防火墙
14关闭selinux
setenforce 0 # 临时关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 永久关闭
1.5关闭swap
swapoff -a # 临时关闭;关闭swap主要是为了性能考虑
free # 可以通过这个命令查看swap是否关闭了
sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久关闭
1.6将桥接的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
1.7安装Docker
只在k8s-master上安装docker,node节点暂时不安装
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.x86_64
systemctl enable docker #设置开机启动
systemctl start docker #启动docker服务
docker --version #查看docker版本
1.8添加阿里云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=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
2. k8s-master主机安装kubeadm,kubelet和kubectl
2.1安装kubeadm,kubelet和kubectl
现在开始在master主机上安装kubernetes Master
yum -y install etcd kubernetes-master
2.2配置etcd.conf
vi /etc/etcd/etcd.conf

2.3配置apiserver
vi /etc/kubernetes/apiserver

2.4.启动etcd、kube-apiserver、kube-controller-manager、kube-scheduler等服务,并设置开机启动。
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES ; done

2.5.在etcd中定义flannel网络
etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'

2.6部署Dashboard
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml
kubectl apply -f recommended.yaml #如果下载不下来的话下面附件为recommended.yaml
到此 k8s-master主机配置完成
3.node1主机上部署kubernetes
3.1在node机上安装kubernetes Node和flannel组件应用,会自动安装docker
yum -y install flannel kubernetes-node
3.2 为flannel网络指定etcd服务
vi /etc/sysconfig/flanneld

3.3 修改kubernetes的config文件
vi /etc/kubernetes/config

3.4 修改kubernetes的kubelet文件
vi /etc/kubernetes/kubelet

3.5 运行服务
在node1节点机上启动kube-proxy,kubelet,docker,flanneld等服务,并设置开机启动。
for SERVICES in kube-proxy kubelet docker flanneld;do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES; done
