ubuntu18.4安装Kubernetes
ubuntu18.4安装Kubernetes本文适用1.24版本以上
目录
1.2、硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
2.2、关闭ufw防火墙和selinux,Ubuntu默认未启用,无需设置,selinux默认未安装
2.3、开启ipv4转发,配置iptables参数,使得流经网桥的流量也经过iptables/netfilter防火墙
3.5、配置docker镜像源和system启动方式,然后重启
1、安装要求
1.1、两台机器,操作系统ubuntu18.04
1.2、硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
1.3、集群中所有机器之间网络互通
1.4、可以访问外网,需要拉取镜像
2、环境准备
2.1、机器信息
机器 | ip | cpu | 内存 |
master | 192.168.100.4 | 4核 | 8G |
node | 192.168.100.5 | 4核 | 8G |
2.2、关闭ufw防火墙和selinux,(Ubuntu默认未启用,无需设置,selinux默认未安装)
ufw disable
setenforce 0 #临时关闭
2.3、开启ipv4转发,配置iptables参数
modprobe br_netfilter
cat >> /etc/sysctl.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl -p #执行此命令生效配置
2.4、禁用swap分区
swapoff -a #临时关闭
sed -ri 's/.*swap.*/#&/' /etc/fstab #永久关闭
2.5、设置主机名
hostnamectl set-hostname master
hostnamectl set-hostname node
bash
2.6、DNS解析
cat >> /etc/hosts <<EOF
192.168.100.4 master
192.168.100.5 node
EOF
3、安装docker
3.1、安装依赖包
apt-get -y install apt-transport-https ca-certificates curl software-properties-common wget
3.2 、国内使用docker官方源下载太慢,使用阿里源。
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"
3.3、安装docker
apt-get install -y docker-ce #如不指定版本默认最新版本
3.4、启动docker 并设置开机自启
systemctl enable docker
systemctl start docker
3.5、配置docker镜像源,然后重启
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload #载入配置
systemctl restart docker
4、安装kubeadm、kubelet、kubectl
4.1、添加k8s阿里源
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
cat > /etc/apt/sources.list.d/kubernetes.list <<EOF
> deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
> EOF
apt-get update
4.2、查看软件版本
apt-cache madison kubeadm
4.3、安装kubeadm、kubelet、kubectl
apt-get install -y kubelet kubeadm kubectl #不指定版本默认最新版本
4.4、master节点执行初始化配置
kubeadm init \
--apiserver-advertise-address=192.168.100.4 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.22.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all
--apiserver-advertise-address=192.168.100.4 \ #修改为自己master ip
--image-repository registry.aliyuncs.com/google_containers \ #设置阿里镜像仓库
--kubernetes-version v1.22.0 \ #指定k8s版本
--service-cidr=10.96.0.0/12 \ #指定service ip网段
--pod-network-cidr=10.244.0.0/16 \ #指定pod ip网段
4.5、master节点拷贝认证文件
执行初始化后的返回内容
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
4.6、将node节点加入集群
执行初始化后的返回内容
kubeadm join 192.168.100.4:6443 --token trix9e.yrg2fqu9vqqbvnxx \
> --discovery-token-ca-cert-hash sha256:d877bf4733e11ca2bf1381f64bed504afd1abde7e7a55b891cca0e28d0de5e7a
4.7、配置命令补全工具
apt-get -y install bash-completion
source <(kubectl completion bash) #临时生效
echo "source <(kubectl completion bash)" >> ~/.bashrc #永久生效
4.8、查看集群状态
如图可以看到集群状态为NotReady,是因为我的网络插件还没有安装,在4.9中处理这个问题
4.9、安装网络插件
wget https://docs.projectcalico.org/manifests/calico.yaml
kubectl apply -f calico.yaml
如图看到calico 的pod 已经起来了,集群状态此时也Read
更多推荐
所有评论(0)