ubuntu18.4安装Kubernetes

本文指导在Ubuntu 18.04上部署Kubernetes,涉及环境准备(关闭防火墙、设置IPv4转发、禁用swap、主机名和DNS),安装Docker、阿里源镜像、kubeadm等组件,配置集群并加入Node节点,以及网络插件的安装和验证。
摘要由CSDN通过智能技术生成

目录

1、安装要求

1.1、两台机器,操作系统ubuntu18.04

1.2、硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多

1.3、集群中所有机器之间网络互通

1.4、可以访问外网,需要拉取镜像

2、环境准备 

2.1、机器信息

2.2、关闭ufw防火墙和selinux,Ubuntu默认未启用,无需设置,selinux默认未安装

2.3、开启ipv4转发,配置iptables参数,使得流经网桥的流量也经过iptables/netfilter防火墙

2.4、禁用swap分区

2.5、设置主机名

2.6、DNS解析

3、安装docker

3.1、安装依赖包

3.2 、国内使用docker官方源下载太慢,使用阿里源。

3.3、安装docker

3.4、启动docker 并设置开机自启

3.5、配置docker镜像源和system启动方式,然后重启

4、安装kubeadm、kubelet、kubectl

4.1、添加k8s阿里源

4.2、查看软件版本

4.3、安装kubeadm、kubelet、kubectl

4.4、master节点执行初始化配置

 4.5、master节点拷贝认证文件

4.6、将node节点加入集群

4.7、配置命令补全工具

4.8、查看集群状态

4.9、安装网络插件


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

  

  

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值