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

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

相关推荐
学不完的36 分钟前
Docker 的安全优化
运维·安全·docker·容器·eureka
恋红尘1 小时前
K8S 服务发现-叩丁狼
linux·docker·kubernetes
sleP4o1 小时前
[Docker] ‘s Basic Usage
docker·容器·eureka
掘根2 小时前
【微服务即时通讯】用户管理子服务2
微服务·云原生·架构
一直都在5722 小时前
K8s详解
云原生·容器·kubernetes
恋红尘2 小时前
K8S 高级调度-叩丁狼
adb·容器·kubernetes
恋红尘2 小时前
K8S 控制器-资源调度-叩丁狼
linux·docker·kubernetes
Stewie1213814 小时前
Docker 面试题
运维·docker·容器
vpk11214 小时前
Docker Compose 安装 Redis
redis·docker·容器
没有bug.的程序员15 小时前
Serverless 弹性扩容引发的全线熔断:Spring Boot 启动耗时从 1s 压缩至 0.3s 的物理级绞杀
java·spring boot·kubernetes·serverless·扩容·线上