1. 当前位置:网站首页 > 技术

ubuntu 安装k8s


在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

nodea节点:hostnamectl set-hostname unode1 &&bash

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

node节点:
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
OK

3、配置同步时间


4、设置计划同步crontab

root@umaster1:~# apt install cron   #安装crontab服务
Reading package lists... Done
Building dependency tree       
Reading state information... Done
cron 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 libxmlb1
Use '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 one
crontab: installing new crontab
root@umaster1:~# crontab -l #查看配置
* */1 * * * /usb/sbin/ntpdate cn.pool.ntp.org #每一小时同步一次

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

4、关闭防火墙和交换分区
1)查看防火墙,其中防火墙状态是active则表明防火墙是开启状态,而inactive则是关闭状态。

关闭防火墙执行命令:sudo ufw disable

2)关闭交换分区:执行命令:sudo swapoff -a

5、允许 iptables 检查桥接流量(所有节点)
1.加载overlay和br_netfilter两个内核模块
sudo modprobe overlay && sudo modprobe br_netfilter
持久化加载上述两个模块,避免重启失效。


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"


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随机启动
如下图

生产节点node1也执行相同的操作,也可以同步进行。
检查docker是否正常

9、安装k8s
控制节点操作命令:
1):apt-get update && apt-get install -y apt-transport-https curl #升级并安装依赖包
2):新增国内科大的软件源

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

#
3)执行更新:apt-get update
如果遇到以下报错,

可以通过以下方法解决:
执行命令: apt-key adv --recv-keys --keyserver keyserver.ubuntu.com +报错缺少的key
如上图的报错解决:执行命令:root@umaster1:~# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B53DC80D13EDEF05

执行安装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
执行成功后有如下图示:

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)、


本文最后更新于2023-11-21,已超过 3个月没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
版权说明

本文地址:http://www.zajiben.com/jishu/33.html
未标注转载均为本站远程,转载请注明文章出处:

发表评论

联系我们

在线咨询:点击这里给我发消息

微信号:a0668678

工作日:9:00-23:00,节假日休息

扫码关注