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

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

相关推荐
架构师老Y4 小时前
008、容器化部署:Docker与Python应用打包
python·容器·架构
handsomestWei8 小时前
Docker引擎API接入配置
运维·http·docker·容器·api
键盘鼓手苏苏10 小时前
Kubernetes与GitOps高级实践
云原生·kubernetes·k8
不是书本的小明11 小时前
K8S应用优化方向
网络·容器·kubernetes
andeyeluguo13 小时前
docker总结
运维·docker·容器
SuAluvfy13 小时前
从 0 到 1:在 Windows + Docker 环境下搭建 NextChat 并接入多模型 API(踩坑实录)
docker·容器
九英里路13 小时前
cpp容器——string模拟实现
java·前端·数据结构·c++·算法·容器·字符串
Aray123414 小时前
论Serverless架构模式及其应用实践
云原生·架构·serverless
AI攻城狮14 小时前
OpenClaw 本地内存检索与 node-llama-cpp 的依赖关系深度解析
人工智能·云原生·aigc
尘世壹俗人14 小时前
知识点8---虚拟化编排工具Kubernetes
容器·kubernetes