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

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

相关推荐
努力进修7 小时前
Docker+cpolar 实战:打造灵活可控的远程办公系统
运维·docker·容器
jieyucx10 小时前
Docker 入门第一阶段:建立正确认知与初体验
运维·docker·容器
only_Klein12 小时前
k8sgpt集成Prometheus Grafana
gpt·kubernetes·prometheus
jieyucx13 小时前
Docker 入门第二阶段:掌握日常命令
运维·docker·容器
有毒的教程13 小时前
Kubernetes进阶实战教程(生产落地完整版)
云原生·容器·kubernetes
不会C语言的男孩15 小时前
Docker 在嵌入式设备中的常用玩法
运维·docker·容器
秋播15 小时前
rancher 部署statefulset mariadb 10.5
云原生
白日焰火116 小时前
Redis 哨兵搭建+ACL权限控制
linux·docker·kubernetes
hj28625118 小时前
Docker‑Compose 笔记
笔记·docker·容器
h3guang Official18 小时前
K8s安全实战:从漏洞靶场到红蓝对抗
安全·容器·kubernetes