总目录
- 一、环境搭建
- 二、安装主节点
- 三、加入从节点
- 四、配制内部网络 Calico
- 五、配制第一个pod
- 六、配制统一访问入口Ingress
- 七、数据持久化nfs
- 八、存储配制ConfigMap
- 九、可视化管理界面Dashboard
0,前言
此系列文章为学习实践笔记,主要参考了以下两位老师的文章和视频:
1,使用VirtualBox 6新建四台虚拟机,系统选用centOS 7.7.1908
用途 | 主机名 | IP | CPU | 内存 | 磁盘 |
---|---|---|---|---|---|
主节点 | k8s-master | 192.168.2.90 | 2核 | 2G | 20G |
从节点 | k8s-node-01 | 192.168.2.91 | 2核 | 2G | 20G |
从节点 | k8s-node-02 | 192.168.2.92 | 2核 | 2G | 20G |
数据卷 | k8s-volumes | 192.168.2.93 | 2核 | 2G | 20G |
2,修改主机名
$ hostnamectl set-hostname set-hostname k8s-master
3,修改hosts文件
$ vi /etc/hosts
# 加入以下配制
192.168.2.93 k8s-volumes
192.168.2.90 k8s-master
192.168.2.91 k8s-node-01
192.168.2.92 k8s-node-02
4,关闭SELinux
$ sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
$ setenforce 0
5,关闭防火墙
$ systemctl stop firewalld
$ systemctl disable firewalld
6,关闭Swap分区
$ vi /etc/fstab
# 注释如下行
# /dev/mapper/centos-swap swap swap defaults 0 0
$ swapoff -a && sysctl -w vm.swappiness=0
7,配置内核参数
$ cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
EOF
$ sysctl --system
8,加载ipvs相关模块
$ cat > /etc/sysconfig/modules/ipvs.modules << EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
$ chmod 755 /etc/sysconfig/modules/ipvs.modules
$ bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
$ yum install -y ipset ipvsadm
9,添加Docker的yum仓库
$ yum-config-manager \
--add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
$ yum update
10,安装和配制Docker(镜像加速可以使用自己的,阿里云申请即可)
$ yum install -y yum-utils device-mapper-persistent-data lvm2
$ yum install -y docker-ce docker-ce-cli containerd.io
$ mkdir /etc/docker
$ cat << EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["https://3354lgsa.mirror.aliyuncs.com"]
}
EOF
11,启动和查看Docker
$ systemctl enable docker && systemctl start docker
$ docker version
$ docker info
12,配制kubernetes的yum仓库
$ cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
13,安装kubeadm, kubelet和kubectl
$ yum update
$ yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
14,启动kubelet,查看kubeadm, kubelet和kubectl
- kubeadm:用于初始化 Kubernetes 集群
- kubectl:Kubernetes 的命令行工具,主要作用是部署和管理应用,查看各种资源,创建,删除和更新组件
- kubelet:主要负责启动 Pod 和容器
$ systemctl enable kubelet.service && systemctl start kubelet.service
$ kubelet version
$ kubeadm version
$ kubectl version
14,安装rpcbind,nfs
$ yum install nfs-utils rpcbind
$ service rpcbind start
$ service nfs start
15,结语
至此,k8s单集群所需环境已全部搭建完成。安装并配制好一台后,在虚拟机里克隆出另外三台,修改ip和主机名即可。