k8s部署Nginx实现外部访问

k8s部署Nginx实现外部访问

1.准备k8s环境

[root@master yaml]# kubectl get nodes   ##两个节点均为Ready状态
NAME     STATUS   ROLES    AGE    VERSION
master   Ready    master   3d8h   v1.18.1
node     Ready    <none>   3d8h   v1.18.1

2.检查主机上是否存在Nginx镜像

[root@master cicd]# docker images |grep nginx
172.16.181.12/library/nginx                                       latest              992e3b7be046        11 months ago       133MB

3.编写pod部署模板nginx-pod.yaml

[root@master yaml]# cat nginx-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod		##pod名称
  labels:
    app: nginx    ###写上这个pod的标签,方便svc连接
spec:
  containers:
  - name: nginx-pod	##pod容器名称
    image: 172.16.181.12/library/nginx:latest		###镜像
    imagePullPolicy: IfNotPresent			###镜像拉取策略
    ports:
    - containerPort: 80			###容器端口

4.编写service部署模板文件nginx-svc.yaml

[root@master yaml]# cat nginx-svc.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
spec:
  selector:
    app: nginx			###关联容器标签
  ports:
  - port: 80			###容器端口
    nodePort: 30002		 ###nodeport映射为30002端口,便于外部主机访问
  type: NodePort		 ###svc类型为nodeport

5.kubectl命令执行模板文件

[root@master yaml]# kubectl apply -f nginx-pod.yaml 
pod/nginx-pod created
[root@master yaml]# kubectl apply -f nginx-svc.yaml 
service/nginx-svc created
[root@master yaml]# kubectl get pod
NAME        READY   STATUS    RESTARTS   AGE
mall        5/5     Running   0          8h
nginx-pod   1/1     Running   0          90s
[root@master yaml]# kubectl get svc
NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes       ClusterIP   10.96.0.1       <none>        443/TCP        3d8h
nginx-svc        NodePort    10.111.24.115   <none>        80:30002/TCP   23s

6.浏览器访问ip:30002
在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值