虚拟机搭建---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

如果集群初始化失败,大概率都是因为网络原因,更换网络再试

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

安装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,整个集群创建成功。

现在集群状态就变为了ready

如果执行两个yaml文件之后,看不到明明空间,或者出现了其他错误。解决方案,倒着删除,重新执行。

kubectl delete -f cutomxxxx.....yaml

kubectl delete -f tigera.....yaml

先删干净,再次尝试执行

kubectl create -f tigera....yaml

kubectl create -f custom...yaml

相关推荐
鹤落晴春6 小时前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
张忠琳7 小时前
【runc 1.4.2】(Part 2)runc 1.4.2 超深度分析 — CLI层:main.go、命令文件、runner、信号处理、TTY
云原生·kubernetes·runc
极客先躯8 小时前
高级java每日一道面试题-2026年02月02日-实战篇[Docker]-如何实现容器的持久化存储?
docker·容器·面试宝典·持久化·存储·韵味·java高级面试题
阿里云云原生9 小时前
AI 提效是“假象”还是“红利”?用 LoongSuite + SLS 构建组织级 AI 编码度量看板
云原生
极客先躯9 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java识堂10 小时前
如何对微服务进行拆分?
微服务·云原生·架构
某林21211 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
m0_7381207211 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
Plastic garden12 小时前
K8s知识(3) Pod亲和性,调度
云原生·容器·kubernetes