虚拟机搭建---K8S环境

K8S:docker容器其实本质上是一个linux里面的一个进程,容器本身自己是没有可再生能力的,没有高可用,而且生产环境运行容器,不可能只运行一两个,因此为了更加方便的管理众多容器,以及让容器具备高可用性,有一个东西出来了,容器编排工具。

k8s是个工具,它是管理容器的,k8s管理/调度的最小单元/单位是一个pod。

实际生产环境搭建K8S是以二进制的方式搭建的。

虚拟机搭建K8S环境至少2个vcpu

克隆三台虚拟机

修改主机名

配置静态IP

可以选择配置静态IP或者DHCP分配IP

运行脚本

3个节点分别运行同一个脚本

root@kmaster \~\]# sh Stream8-k8s-v1.27.0.sh \[root@knode1 \~\]# sh Stream8-k8s-v1.27.0.sh \[root@knode2 \~\]# sh Stream8-k8s-v1.27.0.sh 等待3个节点全部运行完毕后,把脚本里面第11步操作的命令,单独拷贝出来,在master节点上执行(注意,不需要在node上执行,仅在master上) \[root@kmaster \~\]# kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.27.0 --pod-network-cidr=10.244.0.0/16 ![](https://i-blog.csdnimg.cn/direct/ea4e86267b4745248a0ce1c0c935f288.png) **如果集群初始化失败,大概率都是因为网络原因,更换网络再试** \[root@kmaster \~\]# mkdir -p $HOME/.kube \[root@kmaster \~\]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config \[root@kmaster \~\]# sudo chown $(id -u):$(id -g) $HOME/.kube/config \[root@kmaster \~\]# echo 'export KUBECONFIG=/etc/kubernetes/admin.conf' \>\> /etc/profile \[root@kmaster \~\]# source /etc/profile \[root@kmaster \~\]# \[root@kmaster \~\]# kubectl get node NAME STATUS ROLES AGE VERSION kmaster NotReady control-plane 6m32s v1.27.0 加入其他两个节点 把生成的token命令分别在其他两个节点上执行,就会加入当前的集群 kubeadm join 192.168.100.221:6443 --token faze5f.2xcem41hpwiqiprv \\ --discovery-token-ca-cert-hash sha256:79f0aaa17a84d8de2ef22237c7afb4b19cc091303d58445734d4cef4d48b8864 ![](https://i-blog.csdnimg.cn/direct/7c4fbddc3f7a4b1f849cccfb224b6425.png) ## 安装calico网络插件 \[root@kmaster \~\]# kubectl create -f tigera-operator-3-26-1.yaml \[root@kmaster \~\]# kubectl create -f custom-resources-3-26-1.yaml \[root@kmaster \~\]# watch kubectl get pods -n calico-system 所有pod全部变为running,整个集群创建成功。 ![](https://i-blog.csdnimg.cn/direct/7a89a476f94441b4acd5529ef0d20264.png) 现在集群状态就变为了ready ![](https://i-blog.csdnimg.cn/direct/7940591341554a2f8a4404bf1e6fe770.png) 如果执行两个yaml文件之后,看不到明明空间,或者出现了其他错误。解决方案,倒着删除,重新执行。 kubectl delete -f cutomxxxx.....yaml kubectl delete -f tigera.....yaml 先删干净,再次尝试执行 kubectl create -f tigera....yaml kubectl create -f custom...yaml

相关推荐
雨辰AI18 小时前
SpringBoot3 + 人大金仓 V9 全栈日志实战:Logback + Loki + Filebeat 构建统一日志平台
java·数据库·后端·云原生·eureka·logback·政务
=蜗牛=18 小时前
Docker 简单部署 ClickHouse 超详细图文步骤
clickhouse·docker·容器·部署·图文
Slow菜鸟19 小时前
Docker 学习篇(五)| Docker 常用命令
学习·docker·容器
梵得儿SHI20 小时前
(第三篇)Spring AI 架构设计与优化:容器化与云原生部署,基于 K8s 的 AI 应用全生命周期管理
java·ci/cd·docker·云原生·kubernetes·容器化·spring ai
AI攻城狮20 小时前
AI不是泡沫,但让机器人去当和尚是闹剧
云原生
m0_7375393720 小时前
基于LNMP的综合实验
容器·kubernetes
番茄去哪了21 小时前
单体转微服务:正确的拆分思路与实战原则(下)
微服务·云原生·架构
阿里云云原生1 天前
HiClaw 上线 Worker 模板市场,提供稳定可共享的 Agent 生产力
云原生
linux修理工2 天前
在 Kali Linux 上安装 Docker
云原生·eureka
木雷坞2 天前
内网模型服务启动链路分层实践
docker·容器·gpu