虚拟机Ubuntu22.04搭建k8s集群

虚拟机上搭建K8S集群

零基础搭建k8s集群一次成功,坑太多我都替你踩过了(文档) (qq.com)

Ubuntu 22安装K8S 1.26实战 - 掘金 (juejin.cn)

配置ubuntu系统国内源

为了避免遭遇科学上网的问题,我们需要配置一下国内的源;

备份默认源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

 sudo rm -rf /etc/apt/sources.list

配置国内源

 sudo vi /etc/apt/sources.list

配置国内源即可:

ubuntu换镜像源(ubuntu换源)_乌班图镜像源_Fighting_1997的博客-CSDN博客

 1.创建虚拟机

关闭swap分区   sudo swapoff -a

永久禁用    sudo vi /etc/fstab

将最后一行注释后重启系统即生效

 #/swap.img      none    swap    sw      0       0

  关闭防火墙   sudo ufw status

sudo ufw disable

2安装docker

sudo apt update

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update

配置阿里云镜像源

需要登陆阿里云:阿里云登录页 (aliyun.com)

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://hhydrthc.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

sudo apt install docker-ce docker-ce-cli containerd.io

sudo systemctl start docker

sudo systemctl enable docker

sudo docker –version

3安装kubeadm(每台机器都得装)

构建一个脚本,vim installAdn.sh  ,然后执行 sh installAdn.sh

#!/bin/bash
apt update && apt install apt-transport-https
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
add-apt-repository 
"deb [arch=amd64] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"
apt-get update
apt-cache madison kubelet kubectl kubeadm |grep 
'1.22.7-00' 
apt install -y kubelet=1.22.7-00 kubectl=1.22.7-00 kubeadm=1.22.7-00

4禁用swap

vim /etc/default/kubelet

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

systemctl daemon-reload && systemctl restart kubelet

5 在master节点进行初始化

kubeadm init \
  --kubernetes-version=v1.22.7 \
  --image-repository registry.aliyuncs.com/google_containers \
  --pod-network-cidr=10.24.0.0/16 \
  --ignore-preflight-errors=Swap

pod-network-cidr 这个是自定义资源,pod网段不要与主机名相同

初始化成功后执行打印信息的命令

并记住工作节点的加入命令

Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube

  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

  sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.

Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:

  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.30.136:6443 --token 1ya3u9.pq6ndx5rmin464cn \

       --discovery-token-ca-cert-hash sha256:9ad7086cb1a99d942861e060956d6d0b70ec02d8996e495416cc2b8c16a778f5

6安装Calico CNI插件

安装Calico CNI插件:使用kubectl安装Calico CNI插件。阿里云的镜像仓库通常包含Calico的镜像,因此可以直接使用官方提供的YAML文件来安装

kubectl apply -f https://docs.projectcalico.org/v3.22/manifests/calico.yaml

等待Calico插件的部署完成,可以使用以下命令检查Calico相关的Pod是否在运行:

kubectl get pods -n kube-system | grep calico

也可以安装指示面板

7 工作节点配置kubectl

要将 master 节点上的 Kubernetes 配置文件 admin.conf 复制到从节点的相同目录下

scp xiao@master:/etc/kubernetes/admin.conf /etc/kubernetes/

这将从 master 节点上的 admin.conf 文件复制到目标节点(从节点)上的 /etc/kubernetes/ 目录中。

实现上面确保 master 节点上的 SSH 服务正在运行

sudo systemctl status ssh

没有就安装sudo apt-get install openssh-server

如果还是没有权限,那就是主机不允许其他用户访问这个文件,那就修改权限

sudo chmod 644 /etc/kubernetes/admin.conf

然后配置mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

就可以在工作节点上使用kubectl

8 修改主节点,可以调度pod在主节点上运行

kubectl describe nodes master | grep -E '(Taints|Roles)' 查看主节点的taints,应该是不允许调度

kubectl taint nodes master node-role.kubernetes.io/master-

这将删除掉主节点上的 Taints,允许普通工作负载的 Pod 调度到主节点上。

除了上面的修改,我们也可以给主节点一个worker标签, 将其标记为工作节点。

kubectl label nodes master node-role.kubernetes.io/worker=

现在,您可以创建 Pod,而不必删除主节点上的 Taints。Pod 将会根据节点的标签和调度策略,随机调度到工作节点和主节点上。

我两个都做了,这两个命令不会改变主节点的角色,它们只会修改节点的 Taints 和标签,以影响 Pod 的调度行为和为节点添加附加信息。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Ubuntu 22.04搭建Kubernetes集群,可以使用kubeadm工具进行快速部署。首先,需要准备好虚拟机,并确保每个节点的系统配置满足最低要求,如CPU核心不低于2个,RAM不低于2G。\[1\] 在开始之前,需要进行环境配置。可以使用以下命令来安装Docker和containerd作为容器运行时: ``` $ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg ``` 接下来,可以使用kubeadm工具来部署Kubernetes集群。具体的安装步骤和配置文件可以在文章末尾的网盘中找到。\[1\] 请注意,从Kubernetes 1.24版本开始,Dockershim已从Kubernetes项目中移除,因此我们将使用containerd作为容器运行时。\[3\] 希望这些信息对您有帮助,如果您需要更详细的步骤和配置,请参考提供的引用内容。 #### 引用[.reference_title] - *1* [Ubuntu22.04部署Kubernetes集群(亲测可用)](https://blog.csdn.net/qq_43347021/article/details/129815123)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Ubuntu22.04部署K8S1.27.2版本集群](https://blog.csdn.net/sgj584520/article/details/130954363)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Ubuntu22.04搭建k8s集群,看这一篇就够啦!](https://blog.csdn.net/m0_43445928/article/details/130524917)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值