K8S - VirtualBox中k8s集群搭建
1、准备工作我们可以使用vagrant快速创建三个虚拟机。虚拟机启动前先设置virtualbox的主机网络。现全部统一为192.168.1.1,以后所有虚拟机都是1.x的ip地址2、启动三个centos虚机使用vagrant创建三台centos虚拟机使用vagrant ssh命令连接到虚机(每台虚机执行),编辑sshd,使之修改使用密码()# ssh连接虚机vagrant ssh k8s-node
·
1、准备工作
- 我们可以使用vagrant快速创建三个虚拟机。虚拟机启动前先设置virtualbox的主机网络。现全部统一为192.168.1.1,以后所有虚拟机都是1.x的ip地址
2、启动三个centos虚机
- 使用vagrant创建三台centos虚拟机
- 使用vagrant ssh命令连接到虚机(每台虚机执行),编辑sshd,使之修改使用密码()
-
# ssh连接虚机 vagrant ssh k8s-node1 # 切换为root用户 su root # 编辑sshd vi /etc/ssh/sshd_config # 修改使用密码 PasswordAuthentication yes # 保存并退出 :wq # 重启sshd service sshd restart # 退出root用户 exit # 退出节点 exit
-
- 全部关闭电源
-
添加全局设定,添加网络
-
-
挨个机器切换网络-网卡1的连接方式,选择NAT网络,MAC地址点击重新生成
-
重新启动每个服务器
3、设置linux环境
- 关闭防火墙
-
systemctl stop firewalld systemctl disable firewalld
-
-
关闭selinux
-
sed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0
-
-
关闭swap
-
# 临时关闭 swap swapoff -a # 永久关闭 swap sed -ri 's/.*swap.*/#&/' /etc/fstab # 验证,swap必须为0; free -g
-
-
添加主机名与IP对应关系
-
# 编辑hosts vi /etc/hosts # 加入以下内容 10.0.2.15 k8s-node1 10.0.2.4 k8s-node2 10.0.2.5 k8s-node3 # 保存并退出 :wq
-
-
将桥接的IPV4流量传递到iptables的链:
-
cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-optables = 1 EOF sysctl --system
-
4、备份系统快照
5、所有节点安装
- Kubernetes默认CRI(容器运行时)为docker,因此先安装Docker。
- 安装docker
# 卸载系统之前的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 安装Docker-CE
# 安装必须的依赖
sudo yum install -y uum-utils \
device-mapper-persistent-date \
lvm2
# 设置 docker repo的yum位置
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装docker,以及docker-cli
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 配置docker加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 启动docker & 设置docker开机自启
systemctl enable docker
-
添加阿里云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
-
-
安装kubeadm、kubelet和kubectl
-
yum list|grep kube yum install -y kubelet-1.17.3 kubeadm-1.17.3 kubectl-1.17.3 systemctl enable kubelet systemctl start kubelet
-
6、部署k8s-master
- master节点初始化
-
kubeadm init \ --apiserver-advertise-address=10.0.2.15 \ --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \ --kubernetes-version v1.17.3 \ --service-cidr=10.96.0.0/16 \ --pod-network-cidr=10.244.0.0/16
-
-
测试kubectl(主节点执行)
-
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
-
7、安装Pod网络插件 (CNI)
-
kubectl apply -f \ https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
8、加入Kubernetes
-
kubeadm join 10.0.2.15:6443 --token 702nm7.f9p8bi67v6tgkhem \ --discovery-token-ca-cert-hash sha256:75d2003216493465c80fd8d36e9a6207719ef29a41c002230635bc9b15f9c3d1
更多推荐
已为社区贡献18条内容
所有评论(0)