搭建k8s1.18
一.准备好两台centos7-2009的虚拟机
K8s-master | 10.0.0.50 |
K8s-node1 | 10.0.0.51 |
二.准备虚拟机环境
特别注意:所有节点都要执行
1.执行以下命令,转到管理员
su root
2.根据规划设置主机名
hostnamectl set-hostname <hostname>
<hostname>替换要改的名字例如
master节点执行
hostnamectl set-hostname k8s-master
node1节点执行
hostnamectl set-hostname k8s-node1
3.执行以下命令,关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
检查
systemctl status firewalld
4.关闭selinux
永久关闭
sed -i 's/enforcing/disabled/' /etc/selinux/config
临时关闭
setenforce 0
请都执行一遍
5.关闭swap分区
永久
sed -ri 's/.*swap.*/#&/' /etc/fstab
临时
swapoff -a
检查
free -h
6.添加hosts
cat >> /etc/hosts << EOF
10.0.0.50 k8s-master
10.0.0.51 k8s-node1
EOF
7. 将桥接的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
8.时间同步
yum install ntpdate -y
ntpdate ntp6.aliyun.com
三.所有节点安装Docker/kubeadm/kubelet
1.执行
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
2.验证docker安装成功
docker --version
3.添加阿里云镜像加速
之前配置过阿里云镜像加速,这里不再详细阐述,看步骤12
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://1wmvm18a.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
4.添加阿里云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=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
5.安装kubeadm,kubelet和kubectl
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
systemctl enable kubelet
四.部署Kubernetes Master
在k8s-master节点执行
注意该脚本只能执行一次,所以可以在这拍个快照
1.执行该脚本
kubeadm init \
--apiserver-advertise-address=10.0.0.50 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.18.0 \
--service-cidr=10.96.0.0/12 \
--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
五.加入Kubernetes Node
在k8s-node1节点
复制在master节点执行第四步执行后才出现的token到node1节点
大概长这样
复制这个到node1,注意每个人都不一样 ,注意要复制全别漏了
kubeadm join 10.0.0.50:6443 --token k2vypq.2342994vsay7oie7 \
--discovery-token-ca-cert-hash sha256:e3799fb5fd93a8b8a4315f076d0d64833e5f6b5fd06a768b3963604123d1b83b
完成后大致为这样
六.部署CNI网络插件
master节点执行
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
资源下不了可以用这个kube-flannel.yml文件百度网盘下载
查看
kubectl get pods -A
这个要等一会,等它全部跑完大概是这样
七.测试kubernetes集群
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc
八.安装 Kuboard v3 - static pod
执行
curl -fsSL https://addons.kuboard.cn/kuboard/kuboard-static-pod.sh -o kuboard.sh
执行
sh kuboard.sh
查看
kubectl get pods -A
跑完后
九.访问 kuboard v3
在浏览器输入
http://
10.0.0.50
:80
即可访问 Kuboard v3.x 的界面,登录方式:
- 用户名:
admin
- 密 码:
Kuboard123
别升级
点击添加一个集群
点kubeconfig
根据提示将文件内容粘贴到此
可以用这个命令查看
cat /etc/kubernetes/admin.conf
注意复制的文件不能多不能少
名称描述随意
打开不校验TLS
点击确定
这样就可以添加一个集群,可以快速部署例如nginx等这样的服务
注意nginx的端口在执行第七步时可查看