创建deployment.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: pc-deployment namespace: xiao spec: replicas: 1 selector: matchLabels: app: nginx-xiao template: metadata: labels: app: nginx-xiao spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80
创建service-nodeport.yaml
[root@master nginx]# cat service-nodeport.yaml apiVersion: v1 kind: Service metadata: name: service-nodeport namespace: xiao spec: selector: app: nginx-xiao type: NodePort # service类型 ports: - port: 80 nodePort: 30002 # 指定绑定的node的端口(默认的取值范围是:30000-32767), 如果不指定,会默认分配 targetPort: 80 #NodePort服务可以暴露多个端口。您可以通过在Service定义中指定多个ports来达到这个目的。每个port定义都会##创建一个新的NodePort服务,其端口号由NodePort和ServicePort的组合决定 #需要添加一个name字段 [root@master nginx]# cat service-nodeport.yaml apiVersion: v1 kind: Service metadata: name: service-nodeport namespace: xiao spec: selector: app: nginx-xiao type: NodePort # service类型 ports: - name: fw1 port: 80 nodePort: 30002 # 指定绑定的node的端口(默认的取值范围是:30000-32767), 如果不指定,会默认分配 targetPort: 80 - name: fw2 port: 81 nodePort: 30003 targetPort: 81
#查看pod和svc状态 [root@master nginx]# kubectl get pod,svc -n xiao NAME READY STATUS RESTARTS AGE pod/pc-deployment-56854bd6f4-2p2xd 1/1 Running 2 57m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/service-nodeport NodePort 10.107.173.249 <none> 80:30002/TCP 56m #nginx配置文件复制到容器内 server { listen 80; server_name jenkins; # ssl_certificate ./ssl.crt; # ssl_certificate_key ./ssl.key; location / { proxy_pass http://10.18.93.152:8081; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } kubectl cp /root/xxl-job.conf pc-deployment-56854bd6f4-2p2xd:/etc/nginx/conf.d/ -n xiao #进入容器 kubectl exec -it pc-deployment-56854bd6f4-2p2xd -n xiao /bin/bash #重新加载nginx配置文件 nginx -reload
#访问