Ubuntu操作系统安装kubernetes-1.25版本

一、集群节点准备

ip主机名称操作系统
192.168.124.10master-118.04.5 LTS (Bionic Beaver)
192.168.124.11node-118.04.5 LTS (Bionic Beaver)
192.168.124.12node-218.04.5 LTS (Bionic Beaver)
在这里插入图片描述

二、安装前主机环境准备 (所有主机都需要进行)

1、配置主机名解析

root@master:~# echo 192.168.124.10 master >> /etc/hosts
root@master:~# echo 192.168.124.11 node1 >> /etc/hosts
root@master:~# echo 192.168.124.12 node2 >> /etc/hosts

root@node1:~# echo 192.168.124.10 master >> /etc/hosts
root@node1:~# echo 192.168.124.11 node1 >> /etc/hosts
root@node1:~# echo 192.168.124.12 node2 >> /etc/hosts

root@node2:~# echo 192.168.124.10 master >> /etc/hosts
root@node2:~# echo 192.168.124.11 node1 >> /etc/hosts
root@node2:~# echo 192.168.124.12 node2 >> /etc/hosts

root@master:~# hostnamectl  set-hostname master
root@node1:~# hostnamectl  set-hostname node1
root@node2:~# hostnamectl  set-hostname node2

2、关闭防火墙和SELIUNX

## 防火墙查看
root@node1:~#  ufw status   
Status: inactive  ## 防火墙不活跃状态

## 关闭防火墙
root@node1:~# ufw disable
Firewall stopped and disabled on system startup

## 防火墙永久关闭
root@node1:~# systemctl disable ufw
Synchronizing state of ufw.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable ufw
Removed /etc/systemd/system/multi-user.target.wants/ufw.service.

## 查看防火墙状态
root@node1:~# ufw disable
Firewall stopped and disabled on system startup

三、安装容器运行时- containerd

先卸载已经安装的docker
apt-get remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine docker-ce containerd -y

				  
如果服务器没有默认的docker源,首先配置源:
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

				  
安装Containerd 
apt-get install containerd.io -y

配置Containerd的内核 
cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables  = 1
net.ipv4.ip_forward                 = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

sudo sysctl --system

创建Containerd的配置文件
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml

修改配置文件:
打开/etc/containerd/config.toml
把SystemdCgroup = false修改成SystemdCgroup = true
把sandbox_image = "k8s.gcr.io/pause:3.6"修改成sandbox_image="registry.aliyuncs.com/google_containers/pause:3.7"

# 启动Containerd
systemctl daemon-reload
systemctl restart containerd
ctr plugin ls

四、安装kubernetes集群

1、安装 kubectl kubelet kubeadm,并初始化集群

# 添加apt-key
	curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
# 添加源
	echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" >/etc/apt/sources.list.d/kubernetes.list

sudo apt-get update
sudo apt-get install -y kubelet=1.25.0-00 kubeadm=1.25.0-00 kubectl=1.25.0-00
sudo apt-mark hold kubelet kubeadm kubectl


swapoff -a
vim /etc/fstab 注释自动挂载swapoff
kubeadm config images pull \
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version 1.25.0
 
kubeadm init --apiserver-advertise-address 192.168.0.100   --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --cri-socket "unix:///var/run/containerd/containerd.sock" --kubernetes-version 1.25.0

2、安装网络插件-calico

安装calico的版本

registry.cn-beijing.aliyuncs.com/dotbalo/cni:v3.24.0

calico下载地址

镜像地址修改为国内仓库地址
在这里插入图片描述

3,集群验证

root@master:~# kubectl  run bs  --image=busybox:1.28.4 -- sleep 24h
pod/bs created
root@master:~# kubectl  get pod 
NAME   READY   STATUS              RESTARTS   AGE
bs     0/1     ContainerCreating   0          8s

root@master:~# kubectl   get pod -o wide 
NAME   READY   STATUS    RESTARTS   AGE   IP               NODE    NOMINATED NODE   READINESS GATES
bs     1/1     Running   0          19s   172.17.166.130   node1   <none>           <none>
root@master:~# kubectl  exec -it bs -- /bin/bash
error: Internal error occurred: error executing command in container: failed to exec in container: failed to start exec "9752f71b442b3c3a5e53e69a2a7ce7f10293bbb67bcb594a73825099c0098644": OCI runtime exec failed: exec failed: unable to start container process: exec: "/bin/bash": stat /bin/bash: no such file or directory: unknown
root@master:~# kubectl  exec -it bs -- sh 
/ # ping www.baidu.com
PING www.baidu.com (182.61.200.7): 56 data bytes
64 bytes from 182.61.200.7: seq=1 ttl=48 time=38.630 ms
64 bytes from 182.61.200.7: seq=2 ttl=48 time=38.006 ms
^C
--- www.baidu.com ping statistics ---
3 packets transmitted, 2 packets received, 33% packet loss
round-trip min/avg/max = 38.006/38.318/38.630 ms
/ # nslookup kubernetes.default.svc.cluster.local
Server:    10.96.0.10
Address 1: 10.96.0.10

nslookup: can't resolve 'kubernetes.default.svc.cluster.local'
/ # exit
command terminated with exit code 1
root@master:~# kubectl  get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   20m
root@master:~# 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值