kubernetes集群的安装
首先需要制作一个母系统 之后的系统都是克隆这个母系统
相关要求
- OS:Ubuntu Server X64 18.04 LTS(16.04 版本步骤相同,再之前则不同)
- CPU:最低要求,1 CPU 2 核
- 内存:最低要求,2GB
- 磁盘:最低要求,20GB
系统中首先要安装了docker(之前的博客有教程)默认从安装了docker开始演示
要选好docker的版本和kubernete的版本
关闭交换空间 (虚拟化技术必须关闭交换空间,不关闭的话会大量占用系统资源)
查看交换空间
free -h
关闭交换空间
swapoff -a
避免开机启动交换空间(注释swap开头的)
vim /etc/fstab
关闭防火墙
ufw disable
配置DNS (取消DNS行注释 ,并增加DNS配置如下:114.114.114.114 修改后重启计算机)
vim /etc/systemd/resolved.conf
接着重启
安装Kubernetes必备工具
安装系统工具
apt-get update && apt-get install -y apt-transport-https
安装GPG证书
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
写入软件源
cat << EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF
安装
apt-get update && apt-get install -y kubelet kubeadm kubectl
安装完注意看安装的版本 后面会用到
设置kubectl开机启动并且启动kubelet
systemctl enable kubelet && systemctl start kubelet
时间同步
设置时区
dpkg-reconfigure tzdata
安装ntpdate
apt-get install ntpdate
设置系统时间于网络时间一致
ntpdate cn.pool.ntp.org
将系统时间写入硬盘时间
hwclock --systohc
确认下时间
date
时间必须保持一致
修改cloud.cfg文件
防止重启后主机名还原
vim /etc/cloud/cloud.cfg
将preserve_hostname: true
到此 母机制作完成接下来进行单节点配置
单节点配置
节点配置
主机名 | IP | 角色 |
---|---|---|
kubernetes-master | 192.168.113.50 | master |
kubernetes-node -01 | 192.168.113.60 | node |
kubernetes-node -02 | 192.168.113.70 | node |
配置主节点
首先需要更改他的主机名及IP地址
vim /etc/netplan/50-cloud-init.yaml
这里的第一个addresses的IP需要和你系统的ip匹配
network:
ethernets:
ens33:
addresses: [192.168.113.50/24]
gateway4: 192.168.113.2
nameservers:
addresses: [192.168.113.2]
version: 2
接着使用 netplan apply 使其生效
配置主机名
修改主机名
hostnamectl set-hostname kubernetes-master
配置hosts
cat >> /etc/hosts << EOF
192.168.113.50 kubernetes-master
EOF
重启
接着将剩余的两台node按照上述流程配置
kubernetes 安装集群
主节点上创建并修改主节点上创建并修改
先在 /usr/local文件夹下创建kubernetes
在 kubernetes 文件夹下创建 cluster
接着执行
kubeadm config print init-defaults --kubeconfig ClusterConfiguration > kubeadm.yml
编辑kubeadm.yml
registry.aliyuncs.com/google_containers
podSubnet: "10.244.0.0/16"
查看所需镜像
kubeadm config images list --config kubeadm.yml
拉去所需镜像
kubeadm config images pull --config kubeadm.yml
安装主节点
kubeadm init --config=kubeadm.yml --experimental-upload-certs | tee kubeadm-init.log
有这个代表成功
接下来
使用 kubectl get node 查看节点
配置从节点
将主节点上的两句复制到从节点上
之后在主节点上再用 kubectl get node 查看
配置成功
配置网络
在主节点上安装CNI插件
安装Calico
kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml
查看进度
watch kubectl get pods --all-namespaces
都是running时代表安装完成
之后在主节点上再用 kubectl get node 查看
都是ready代表成功