第四阶段
时 间:2023年8月11日
参加人:全班人员
内 容:
Kubernetes集群应用部署测试
目录
应用部署测试
应用部署测试
下面我们部署一个简单的Nginx WEB服务,该容器运行时会监听80端口。
(一)环境配置:
(二)Kubernetes 支持两种方式创建资源:
1、用kubectl命令直接创建,在命令行中通过参数指定资源的属性。此方式简单直观,比较适合临时测试或实验使用。
kubectl run web --image=nginx --replicas=2(已不支持)
检查:[root@k8s-master ~]# kubectl describe pod web
[root@k8s-master ~]# kubectl get pod -o wide
[root@k8s-node01 ~]# curl -l 10.244.1.2
2、通过配置文件和kubectl create/apply创建。
在配置文件中描述了应用的信息和需要达到的预期状态。
kubectl create -f nginx-deployment.yaml
以Deployment YAML方式创建Nginx服务
1)创建deployment:
[root@k8s-master ~]# cat nginx-deployment.yaml
#使用yaml的方式进行创建应用,配置如下:
deployment配置文件说明:
apiVersion: apps/v1 #apiVersion是当前配置格式的版本 kind: Deployment #kind是要创建的资源类型,这里是Deploymnet metadata: #metadata是该资源的元数据,name是必须的元数据项 name: nginx-deployment labels: app: nginx spec: #spec部分是该Deployment的规则说明 replicas: 3 #relicas指定副本数量,默认为1 selector: matchLabels: app: nginx template: #template定义Pod的模板,这是配置的重要部分 metadata: #metadata定义Pod的元数据,至少要顶一个label,label的key和value可以任意指定 labels: app: nginx spec: #spec描述的是Pod的规则,此部分定义pod中每一个容器的属性,name和image是必需的 containers: - name: nginx image: nginx:latest ports: - containerPort: 80
2)创建nginx-deployment应用
[root@k8s-master ~]# kubectl create -f nginx-deployment.yaml
3)查看deployment详情
[root@k8s-master ~]# kubectl get deployment
4)查看pod在状态,正在创建中,此时应该正在拉取镜像
[root@k8s-master ~]# kubectl get pod
5)查看具体某个pod的状态信息
[root@k8s-master ~]# kubectl describe pod nginx-deployment-7947dc656-5rmck
[root@k8s-master ~]# kubectl get pod -o wide #创建成功,状态为Running
如果要删除这些资源,执行 kubectl delete deployment nginx-deployment 或者 kubectl delete -f nginx-deployment.yaml。
3、测试Pod访问
[root@k8s-node01 ~]# curl --head http://10.244.1.2
[root@k8s-master ~]# elinks --dump http://10.244.1.2