k8s部署容器化应用-nginx2

过程:

kubectl create deployment nginx --image=nginx nginx版本,如kubectl create deployment nginx --image=nginx latest,拉取nginx最新版本的镜像,创建nginx名称的控制器,再通过控制器启动pod,而Pod里边运行的是nginx容器镜像,deploy、pod和nginx镜像啥的都运行在工作空间(应该)

1.master节点执行创建控制器、pod,拉取镜像命令,拉取镜像需要时间,所以开始没成功就多等一会儿,成功后如下图:status 状态为Running

2.暴露nginx端口+在浏览器访问nginx端口:

如下第3张图,在kubectl get services命令下,倒数第2列PORT(S)列有2个端口80:30838,80端口是node工作节点内部之间通信的时候用的端口,30838端口是用户在浏览器使用的端口。假如说1个master节点对应3台node节点,node节点之间相互通信时用80端口,当用户在浏览器访问容器里的nginx的时候用30838端口,实际nginx部署在了node节点即133地址,所以在浏览器访问的时候用http:133node节点地址/nginx:30838

注意:

master节点是管理角色,实际运行的pod或deployment或者docker容器实际运行在node工作节点,即在master节点运行docker ps查询nginx镜像,实际上是查询不到的,而master节点是启调度作用,假如node工作节点有多个,则master会根据调度器把pod创建在某个node工作节点上

安装k8s环境要求:

master或node节点所在服务器的内存至少2G,处理器个数即cpu核数>=2

linux常用命令:

查看虚拟机IP: ip a

yum安装网络工具:yum install net-tools -y,-y是自动确认的意思

查看虚拟机上的网络端口:

k8s集群查看连接k8s集群的kubectl工具可用命令:

这些命令在master节点或node工作节点都可运行

查询pod:kubectl get pod或kubectl get pods

查询deployment:kubectl get deployment或kubectl get deploy

查询pod里的docker容器:docker ps,查询所有容器:docker ps -a

查询docker镜像:docker images

查看服务:kubectl get service或kubectl get services

删除deployment:kubectl delete deployment 控制器名称,如kubectl delete deployment nginx,删除nginx控制器,再通过kubectl get deploy查询控制器可以发现nginx会查询不到。一般把控制器删了之后,pod也会被删,视频上是Pod的状态是终止Terminating

删除pod:kubectl delete pod pod名称,如下在删除执行完命令之后没显示pod deleted啥的,应该就是没删除成功

删除nginx服务:

查询防火墙状态:systemctl status firewalld

好找工作吗,各位老铁。。。。。。。。。。。。。。。。。

相关推荐
五仁火烧1 小时前
Vue3 项目的默认端口行为
服务器·vue.js·nginx·容器·vue
Anyexyz2 小时前
【更新】境内 Docker 镜像状态监控——配置生成,一键复制!
运维·docker·容器
释怀不想释怀3 小时前
Docker(网络)
运维·docker·容器
羊羊羊i4 小时前
使用Informer监听K8s资源
云原生·容器·kubernetes
VermiliEiz5 小时前
二进制文件部署k8s方式(5)
云原生·容器·kubernetes
java_logo5 小时前
QWEN3 企业级 Docker 容器化部署指南
运维·docker·容器·qwen3部署·qwen3部署文档·qwen3部署教程·qwen3部署方案
taihexuelang6 小时前
大模型部署
人工智能·docker·容器
2301_810746316 小时前
CKA冲刺40天笔记 - day24 Kubernetes Clusterrole 和 Clusterrole Binding
笔记·容器·kubernetes
释怀不想释怀7 小时前
3.3 DockerCompose(快速部署)
云原生·eureka
释怀不想释怀7 小时前
Docker(项目部署)
运维·docker·容器