前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >17 Nov 2021 在kind中通过nodeport访问应用

17 Nov 2021 在kind中通过nodeport访问应用

作者头像
俊采
发布2024-01-07 08:52:54
1040
发布2024-01-07 08:52:54
举报
文章被收录于专栏:LEo的网络日志LEo的网络日志

1 使用配置文件创建kind:

代码语言:javascript
复制
$ cat kind-config.yaml
apiVersion: kind.x-k8s.io/v1alpha4
kind: Cluster
nodes:
- role: control-plane
  extraPortMappings:
  - containerPort: 30000
    hostPort: 30000
    listenAddress: "0.0.0.0" # Optional, defaults to "0.0.0.0"
    protocol: tcp # Optional, defaults to tcp
$ kind create cluster --kubeconfig $HOME/.kube/kind-config-kind --config $SHARE_PATH/git/k8s_practice/kind/kind-config.yaml
$ export KUBECONFIG=$HOME/.kube/kind-config-kind
$ k get no
NAME                 STATUS   ROLES                  AGE   VERSION
kind-control-plane   Ready    control-plane,master   34s   v1.20.2
$ docker ps
CONTAINER ID        IMAGE                  COMMAND                  CREATED              STATUS              PORTS                                                 NAMES
b4b2ac861a5c        kindest/node:v1.20.2   "/usr/local/bin/entr…"   About a minute ago   Up About a minute   0.0.0.0:30000->30000/tcp, 127.0.0.1:36442->6443/tcp   kind-control-plane

2 在kind中创建deployment和service使用nodeport

代码语言:javascript
复制
$ cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hostname-deployment
  labels:
    app: hostname
spec:
  replicas: 2
  selector:
    matchLabels:
      app: hostname
  template:
    metadata:
      labels:
        app: hostname
    spec:
      containers:
      - name: hostname
        image: quay.io/songleo/hostname
        ports:
        - containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:
  name: hostname-service
spec:
  type: NodePort
  selector:
    app: hostname
  ports:
    - protocol: TCP
      port: 3000
      targetPort: 3000
      nodePort: 30000
EOF
$ k get po
NAME                                   READY   STATUS    RESTARTS   AGE
hostname-deployment-7457d9b7c6-hvmwl   1/1     Running   0          11s
hostname-deployment-7457d9b7c6-w9mzd   1/1     Running   0          11s
$ k get svc hostname-service
NAME               TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
hostname-service   NodePort   10.96.109.242   <none>        3000:30000/TCP   19s
$ curl localhost:30000
Hostname: hostname-deployment-7457d9b7c6-hvmwl
$ curl 127.0.0.1:30000
Hostname: hostname-deployment-7457d9b7c6-hvmwl

LEo at 12:12

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 使用配置文件创建kind:
  • 2 在kind中创建deployment和service使用nodeport
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档