欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > Kubernetes(k8s)学习笔记(四)--入门基本操作

Kubernetes(k8s)学习笔记(四)--入门基本操作

2025/5/7 8:06:24 来源:https://blog.csdn.net/shenxiaomo1688/article/details/147687034  浏览:    关键词:Kubernetes(k8s)学习笔记(四)--入门基本操作

本文通过kubernetes部署tomcat集群,来学习和掌握kubernetes的一些入门基本操作

前提条件

1.各个节点处于Ready状态;

2.配置好docker镜像库(否则会出现ImagePullBackOff等一些问题);

3.网络配置正常(否则即使应用发布没问题,浏览器访问不了)。

实现的过程

一.编写一个tomcat发布的yaml文件tomcat-9.0-deployment.yaml,内容类似下面这样的:

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: tomcat9name: tomcat9
spec:replicas: 3 #指定集群的节点个数selector:matchLabels:app: tomcat9template:metadata:labels:app: tomcat9spec:containers:- image: tomcat:9.0.85-jre8name: tomcat# 启动时自动复制 webapps.dist 内容到 webappslifecycle:postStart:exec:command: ["/bin/sh", "-c", "cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps/"]ports:- containerPort: 8080
--- # 使用三个短横线分隔不同的配置,一个yaml文件可以配置多个
apiVersion: v1
kind: Service
metadata:labels:app: tomcat9name: tomcat9
spec:ports:- port: 80protocol: TCPtargetPort: 8080nodePort: 30080  # 指定易记端口,对外访问端口selector:app: tomcat9type: NodePortexternalTrafficPolicy: Cluster

二.使用yaml文件部署tomcat集群

kubectl apply -f ./tomcat-9.0-deployment.yaml

 执行后输出:deployment和service created的信息

三.验证应用的发布

使用下面的命令,查看所有资源情况

kubectl get all 

 

从上图可以看到,3个tomcat节点都处于运行状态,对外访问端口是30080。

然后使用浏览器访问,出现tomcat的欢迎页面,注意这里的IP不是CLUSTER-IP,而是前面文章配置时获得的ip。可使用这个命令查看启动是否正常,是否可访问:

[root@k8s-node1 k8s]# kubectl exec -it tomcat9-f4d6f4687-7vwch -- curl -I localhost:8080
HTTP/1.1 200 
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Sat, 03 May 2025 08:06:38 GMT

返回200则表示正常。

如果不知道yaml文件怎么写,可以尝试在命令后面添加--dry-run,这样就会输出示例yaml文件

例如:

kubectl create deployment tomcat9 --image=tomcat:9 --dry-run -o yaml > tomcat9-deployment.yaml

就会在当前目录下输出一个tomcat9-deployment.yaml文件从而获得app的配置信息,但并不会创建一个发布,同样kubectl expose deployment tomcat9 --port=80 --target-port=8080 --type=NodePort --dry-run -o yaml则在当前目录下输出service配置的内容,然后把service配置的内容添加到前面的tomcat9-deployment.yaml(使用---分隔开来),然后以最终的tomcat9-deployment.yaml来发布应用。

拓展:常用命令 

1.获取所有的命名空间

kubectl get ns

2.获取所有命名空间的节点信息,用户创建的发布均位于default空间下:

kubectl get pods --all-namespaces

3.获得默认命名空间的节点基本信息

kubectl get pods

3.获得默认命名空间的节点详细信息

kubectl get pods  -o wide

4.获取所有资源信息

kubectl get all

5.获取所有的节点信息

kubectl get nodes

6.获取所有的服务信息

kubectl get svc

7.使用指定文件创建发布

kubectl apply -f xxx.yaml

8.删除发布的应用

kubectl delete deployment.apps/应用名

9.向外暴露端口

kubectl expose deployment 应用名(比如tomcat9) --port=80 --target-port=8080 --type=NodePort

10.将应用扩容到指定数目的数量

kubectl scale --replicas=3 deployment 应用名

11.进入应用内部

kubectl exec -it pod/应用名称 -- /bin/bash

12.获得服务的详细信息

kubectl describe service tomcat9

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词