ubuntu 安装k8s

2023-11-22 / 0 评论 / 246 阅读
温馨提示:
本文最后更新于 2023-11-21,已超过半年没有更新,若内容或图片失效,请留言反馈。

在vmware创建3台虚拟机,配置,4g/2vCPU/30G,ubuntu系统:Ubuntu 20.04.6。

实验环境规划:
两台机器:
192.168.40.101是k8s控制节点
192.168.40.103是k8s工作节点

1、修改主机名
控制节点:hostnamectl set-hostname umaster1 &&bash
ubuntu 安装k8s
nodea节点:hostnamectl set-hostname unode1 &&bash
ubuntu 安装k8s
2、更新apt源及安装基础软件包
控制节点:root@umaster1:~# apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common gnupg2
node节点:root@unode1:~# apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common gnupg2
把下载的key添加到本地trusted数据库中
控制节点:、root@umaster1:~# curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
OK
ubuntu 安装k8s
node节点:
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
OK

3、配置同步时间
ubuntu 安装k8s

ubuntu 安装k8s
4、设置计划同步crontab

root@umaster1:~# apt install cron #安装crontab服务Reading package lists... DoneBuilding dependency tree Reading state information... Donecron is already the newest version (3.0pl1-136ubuntu1).cron set to manually installed.The following packages were automatically installed and are no longer required: gir1.2-goa-1.0 libfwupdplugin1 libxmlb1Use 'apt autoremove' to remove them.0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.root@umaster1:~# service cron start #启动crontab进程root@umaster1:~# systemctl enable cron --now #设置随机启动Synchronizing state of cron.service with SysV service script with /lib/systemd/systemd-sysv-install.Executing: /lib/systemd/systemd-sysv-install enable cron root@umaster1:~# crontab -e 创建计划任务,no crontab for root - using an empty onecrontab: installing new crontabroot@umaster1:~# crontab -l #查看配置* */1 * * * /usb/sbin/ntpdate cn.pool.ntp.org #每一小时同步一次

node节点可同步执行相同命令。

4、关闭防火墙和交换分区
1)查看防火墙,其中防火墙状态是active则表明防火墙是开启状态,而inactive则是关闭状态。
ubuntu 安装k8s
关闭防火墙执行命令:sudo ufw disable
ubuntu 安装k8s
2)关闭交换分区:执行命令:sudo swapoff -a
ubuntu 安装k8s
5、允许 iptables 检查桥接流量(所有节点)
1.加载overlay和br_netfilter两个内核模块
sudo modprobe overlay && sudo modprobe br_netfilter
持久化加载上述两个模块,避免重启失效。

ubuntu 安装k8s
2、修改内核参数,确保二层的网桥在转发包时也会被iptables的FORWARD规则所过滤.
root@umaster1:~# cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_foword = 1
EOF

6、设置稳定版仓库
所有节点执行命令:root@umaster1:~# add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ $(lsb_release -cs) stable"

ubuntu 安装k8s
7、安装Docker
所有节点执行安装命令:
root@umaster1:~# apt-get install docker-ce docker-ce-cli containerd.io -y
root@unode1:~# apt-get install docker-ce docker-ce-cli containerd.io -y

8、配置Docker驱动
1、root@umaster1:~#cat <<EOF | tee /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
然后执行以下操作:
mkdir -pv /etc/systemd/system/docker.service.d #创建docker服务进程
systemctl daemon-reload #加载配置文件
systemctl restart docker #重启docker
systemctl enable docker --now #设置docer随机启动
如下图
ubuntu 安装k8s
生产节点node1也执行相同的操作,也可以同步进行。
检查docker是否正常
ubuntu 安装k8s
9、安装k8s
控制节点操作命令:
1):apt-get update && apt-get install -y apt-transport-https curl #升级并安装依赖包
2):新增国内科大的软件源

cat <<EOF >/etc/apt/sources.list.d/kubernetes.listdeb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial mainEOF

#
3)执行更新:apt-get update
如果遇到以下报错,
ubuntu 安装k8s
可以通过以下方法解决:
执行命令: apt-key adv --recv-keys --keyserver keyserver.ubuntu.com +报错缺少的key
如上图的报错解决:执行命令:root@umaster1:~# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B53DC80D13EDEF05
ubuntu 安装k8s
执行安装k8s命令:安装kubelet,kubectl,kubeadm:
1)、root@umaster1:~# apt-get install -y kubelet=1.23.1-00 kubeadm=1.23.1-00 kubectl=1.23.1-00
2)、关闭k8s自动更新:root@umaster1:~# apt-mark hold kubelet kubeadm kubectl 
3)、初始化k8s
执行以下命令:
kubeadm init --apiserver-advertise-address 192.168.10.102 --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=SystemVerification
执行成功后有如下图示:
ubuntu 安装k8s

4)、创建用户操作

root@umaster1:~# mkdir -p $HOME/.kube
root@umaster1:~# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
root@umaster1:~# sudo chown $(id -u):$(id -g) $HOME/.kube/config
5)、工作节点加入集群:
kubeadm join 192.168.40.100:6443 --token u5jbsc.l3ya2fomnogcc68p \
--discovery-token-ca-cert-hash sha256:407c9c1d46a2a865ff46120be41d49d56d9aea310b8a35a56724b60f17a6449f
6)、

评论一下?

OωO
取消