百度有个学习的网站建设叫什么,网站及邮件系统建设,美术馆网站建设,网站建设合同 附件一、安装部署
1、以Deployment YAML方式创建Nginx服务
这个yaml文件在网上可以下载
cat nginx-deployment.yaml
apiVersion: apps/v1 #apiVersion是当前配置格式的版本
kind: Deployment #kind是要创建的资源类型#xff0c;这里是Deploymnet
metadata: #metadata是该资源…一、安装部署
1、以Deployment YAML方式创建Nginx服务
这个yaml文件在网上可以下载
cat nginx-deployment.yaml
apiVersion: apps/v1 #apiVersion是当前配置格式的版本
kind: Deployment #kind是要创建的资源类型这里是Deploymnet
metadata: #metadata是该资源的元数据name是必须的元数据项name: nginx-deploymentlabels:app: nginx
spec: #spec部分是该Deployment的规则说明replicas: 3 #relicas指定副本数量默认为1selector: matchLabels:app: nginxtemplate: #template定义Pod的模板这是配置的重要部分metadata: #metadata定义Pod的元数据至少要顶一个labellabel的key和value可以任意指定labels:app: nginxspec: #spec描述的是Pod的规则此部分定义pod中每一个容器的属性name和image是必需的containers:- name: nginximage: nginx:1.19.4ports:- containerPort: 80 创建nginx-deployment应用
kubectl create -f nginx-deployment.yaml查看deployment详情 由于需要下载镜像所有需要等一会才会成功
kubectl get deployment
kubectl get pod 这个是正在获取镜像 这个是下载完成的 查看某个pod的详细信息
kubectl describe pod nginx-deployment-7947dc656-7lfp5二、创建pod
kubectl run NAME --imageimage [--envkeyvalue] [--portport] [--replicasreplicas] [--dry-runbool] [--overridesinline-json] [--command] -- [COMMAND] [args...] [options]
各选项的作用分别如下所示。
NAME指定容器运行的名称Image指定运行的基础镜像env指定在容器中设置的环境参数port指定容器暴露的端口replicas指定启动容器设置的副本数dry-rundry-run 值如果为 true则只打印要发送的对象而不发送它overrides生成对象的内联 JSON 重写。如果非空则用于覆盖生成的对象。要求对象提供有效的 apiVersion 字段。
kubectl run nginx-deployment --imagenginx:1.19.4 --port80 --replicas3
kubectl get pods 三、发布服务
kubectl expose (-f FILENAME | TYPE NAME) [--portport] [--protocolTCP|UDP] [--target -portnumber-or-name] [--namename] [--external-ipexternal-ip-of-service] [--typetype]
上述命令语法中各选项的作用分别如下所示。
-f标识公开服务的资源的文件的文件名目录或 URLTYPE NAME指定 deployment 名称port指定内部通信端口protocol指定网络协议tcp 或者 udptarget-port指定暴露在外部的端口name指定最新创建的对象的名称external-ip为 service 的外部 IP 地址type指定此服务的类型 ClusterIPNodePortLoadBalancer 或 ExternalName默认 ClusterIP。
kubectl expose deployment nginx-deployment --port80 --target-port80 --namenginx-service --typeNodePort
kubectl get pods,svc
通过 kubectl expose 命令创建 Service设置内部通信端口和外部暴露的端口均为 80、名称为 nginx-service、类型是 NodePort。创建 Service 完后就可以通过 kubectl get svc命令查看到对外暴露的端口是31749内部通信的地址是10.96.215.14 执行 kubectl get endpoints 查看容器自带的负载均衡。从执行结果可以得知容器自带的负载均衡分别是 10.244.1.4、10.244.1.5、10.244.2.3
kubectl get endpointskubectl get pods 命令时加参数 -o wide 可以查看到 Node 真实节点上的分布
kubectl get pods -o wide 完成上述步骤就已经完成了发布并且可以进行对其访问 以上就是k8s应用部署发布的基本操作
如有错误欢迎各位大佬批评指正我们共同进步