目录
引言:
一.部署规划
二.部署环境(以下操作需要每一台设备都进行相应的修改)
1.关闭防火墙等安全策略
2.修改主机名
3.映射
三.部署(每一台设备都进行相同操作)
1.安装docker(并设置开机自启)2.安装kubeadm、kubelet核kubectl
3.指定版本
4.关闭swap分区
四.master节点操作
1.初始化
2.执行初始化完成后提示的操作
3.安装网络插件(本案例中使用的是flannel)
4.查看一下主件信息
五.node节点操作
1.添加网络插件(flannel)
2.加入集群
3.回到master节点检查node节点是否接入成功,节点和组件状态是否正常
4. 给node节点打标签(master节点上操作)
5.查看部署结果(master节点操作)
总结:
引言:
K8S的搭建方式有很多种,adm搭建是非常方便,快速的一种。
一.部署规划
master :192.168.29.55
node1:192.168.29.11
node2:192.168.29.66
二.部署环境(以下操作需要每一台设备都进行相应的修改)
1.关闭防火墙等安全策略
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]#
2.修改主机名
[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# su
[root@master ~]#
3.映射
[root@master ~]# vim /etc/hosts
192.168.29.55 master
192.168.29.11 node1
192.168.29.66 node2
三.部署(每一台设备都进行相同操作)
1.安装docker(并设置开机自启) 2.安装kubeadm、kubelet核kubectl
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=0
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
3.指定版本
yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
#查看版本
rpm -qa | grep kube
#设置开机自启动
systemctl enable kubelet
4.关闭swap分区
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
四.master节点操作
1.初始化
mkdir k8s && cd k8s
kubeadm init \
--apiserver-advertise-address=192.168.29.55 \ #修改为master节点IP
--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
初始化成功的页面
?
2.执行初始化完成后提示的操作
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
3.安装网络插件(本案例中使用的是flannel)
[root@master k8s]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
4.查看一下主件信息
[root@master k8s]# kubectl get cs
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
controller-manager Healthy ok
etcd-0 Healthy {"health":"true"}
[root@master k8s]# kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready master 4m58s v1.15.0
[root@master k8s]#
五.node节点操作
1.添加网络插件(flannel)
#获取镜像
docker pull lizhenliang/flannel:v0.11.0-amd64
2.加入集群
#使用master节点初始化是生成的令牌加入
kubeadm join 192.168.29.55:6443 --token qnhrf8.e6v8jj2bc0iblgv2 \
--discovery-token-ca-cert-hash sha256:a6c5540b4f465c4b45491abfbfd983873f35f8c2c2178be0c1422281e2c6e6ab
#默认token有效期为24小时,当过期之后,该token就不可用了,需要重新创建token,命令如下
kubeadm token create --print-join-command
3.回到master节点检查node节点是否接入成功,节点和组件状态是否正常
[root@master k8s]# kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready master 11m v1.15.0
node1 Ready <none> 42s v1.15.0
node2 Ready <none> 38s v1.15.0
[root@master k8s]# kubectl get cs
NAME STATUS MESSAGE ERROR
controller-manager Healthy ok
scheduler Healthy ok
etcd-0 Healthy {"health":"true"}
[root@master k8s]#
4. 给node节点打标签(master节点上操作)
#打node标签
kubectl label node node1 node-role.kubernetes.io/node=work
kubectl label node node2 node-role.kubernetes.io/node=work
5.查看部署结果(master节点操作)
[root@master k8s]# kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready master 16m v1.15.0
node1 Ready node 4m49s v1.15.0
node2 Ready node 4m45s v1.15.0
[root@master k8s]# kubectl get cs
NAME STATUS MESSAGE ERROR
controller-manager Healthy ok
scheduler Healthy ok
etcd-0 Healthy {"health":"true"}
[root@master k8s]# kubectl get pod -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-bccdc95cf-45wc2 1/1 Running 0 17m
kube-system coredns-bccdc95cf-8vztt 1/1 Running 0 17m
kube-system etcd-master 1/1 Running 0 16m
kube-system kube-apiserver-master 1/1 Running 0 15m
kube-system kube-controller-manager-master 1/1 Running 0 16m
kube-system kube-flannel-ds-amd64-cdg7d 1/1 Running 0 6m8s
kube-system kube-flannel-ds-amd64-q44h7 1/1 Running 0 13m
kube-system kube-flannel-ds-amd64-xmc9w 1/1 Running 0 6m5s
kube-system kube-proxy-k88l9 1/1 Running 0 17m
kube-system kube-proxy-kwtgz 1/1 Running 0 6m5s
kube-system kube-proxy-vvswm 1/1 Running 0 6m8s
kube-system kube-scheduler-master 1/1 Running 0 16m
[root@master k8s]#
总结:
adm搭建K8S集群的方式很简单,容易快速上手,是初学K8S的朋友不错的选择。
|