首页 > 其他分享 >K8S服务发布

K8S服务发布

时间:2023-09-15 18:38:11浏览次数:42  
标签:kubectl ingress 服务 TCP 10.245 发布 master K8S root

1.nodePort对外发布服务

[root@master ~]# vim mysvc1.yaml[root@master ~]# vim mysvc1.yaml
---
kind: Service
apiVersion: v1
metadata:
  name: mysvc1
spec:
  type: NodePort            # 服务类型
  selector:
    app: web
  ports:
  - protocol: TCP
    port: 80
    nodePort: 30080         # 映射端口号
    targetPort: myhttp

[root@master ~]# kubectl apply -f mysvc1.yaml 
service/mysvc configured
[root@master ~]# kubectl get service
NAME         TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)
kubernetes   ClusterIP   10.245.0.1    <none>        443/TCP
mysvc        ClusterIP   10.245.1.80   <none>        80/TCP
mysvc1       NodePort    10.245.1.88   <none>        80:30080/TCP

[root@master ~]# curl http://node-0001:30080
Welcome to The Apache.
[root@master ~]# curl http://node-0002:30080
Welcome to The Apache.
[root@master ~]# curl http://node-0003:30080
Welcome to The Apache.
[root@master ~]# curl http://node-0004:30080
Welcome to The Apache.
[root@master ~]# curl http://node-0005:30080
Welcome to The Apache.

2.Ingress对外发布服务

2.1安装控制器

[root@master ~]# cd plugins/ingress
[root@master ingress]# docker load -i ingress.tar.xz
[root@master ingress]# docker images|while read i t _;do
    [[ "${t}" == "TAG" ]] && continue
    [[ "${i}" =~ ^"harbor:443/".+ ]] && continue
    docker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t}
    docker push harbor:443/plugins/${i##*/}:${t}
    docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}
done
[root@master ingress]# sed -ri 's,^(\s*image: )(.*/)?(.+)@.*,\1harbor:443/plugins/\3,' deploy.yaml
458:    image: harbor:443/plugins/controller:v1.5.1
565:    image: harbor:443/plugins/kube-webhook-certgen:v20220916-gd32f8c343
614:    image: harbor:443/plugins/kube-webhook-certgen:v20220916-gd32f8c343

[root@master ingress]# kubectl apply -f deploy.yaml
# 通过标签指定在那台机器上发布应用
[root@master ingress]# kubectl label nodes node-0001 ingress-ready="true"
node/node-0001 labeled
[root@master ingress]# kubectl label nodes node-0001 ingress-ready="true"
node/node-0001 labeled
[root@master ingress]# kubectl -n ingress-nginx get pods
NAME                                        READY   STATUS      RESTARTS
ingress-nginx-admission-create--1-lm52c     0/1     Completed   0
ingress-nginx-admission-patch--1-sj2lz      0/1     Completed   0
ingress-nginx-controller-5664857866-tql24   1/1     Running     0

2.2验证后端服务

[root@master ~]# kubectl get pods,services[root@master ~]# kubectl get pods,services 
NAME       READY   STATUS    RESTARTS   AGE
pod/web1   1/1     Running   0          35m

NAME                 TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)
service/kubernetes   ClusterIP   10.245.0.1    <none>        443/TCP
service/mysvc        ClusterIP   10.245.1.80   <none>        80/TCP
service/mysvc1       NodePort    10.245.1.88   <none>        80:30080/TCP

[root@master ~]# curl http://10.245.1.80
Welcome to The Apache.
[root@master ~]# curl http://10.245.1.80[root@master ~]# kubectl get pods,services 
NAME       READY   STATUS    RESTARTS   AGE
pod/web1   1/1     Running   0          35m

NAME                 TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)
service/kubernetes   ClusterIP   10.245.0.1    <none>        443/TCP
service/mysvc        ClusterIP   10.245.1.80   <none>        80/TCP
service/mysvc1       NodePort    10.245.1.88   <none>        80:30080/TCP

[root@master ~]# curl http://10.245.1.80
Welcome to The Apache.
[root@master ~]# kubectl get pods,services 
NAME       READY   STATUS    RESTARTS   AGE
pod/web1   1/1     Running   0          35m

NAME                 TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)
service/kubernetes   ClusterIP   10.245.0.1    <none>        443/TCP
service/mysvc        ClusterIP   10.245.1.80   <none>        80/TCP
service/mysvc1       NodePort    10.245.1.88   <none>        80:30080/TCP

[root@master ~]# curl http://10.245.1.80
Welcome to The Apache.
[root@master ~]# kubectl get pods,services

2.3对外发布服务

[root@master ~]# kubectl get ingressclasses.networking.k8s.io 
NAME    CONTROLLER             PARAMETERS   AGE
nginx   k8s.io/ingress-nginx   <none>       5m7s
# 资源对象模板
[root@master ~]# kubectl create ingress mying --class=nginx --rule=nsd.tedu.cn/*=mysvc:80 --dry-run=client -o yaml
[root@master ~]# vim mying.yaml
---
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
  name: mying
spec:
  ingressClassName: nginx
  rules:
  - host: nsd.tedu.cn
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: mysvc
            port:
              number: 80

[root@master ~]# kubectl apply -f mying.yaml 
ingress.networking.k8s.io/mying created
[root@master ~]# kubectl get ingress
NAME    CLASS   HOSTS         ADDRESS        PORTS
mying   nginx   nsd.tedu.cn   192.168.1.51   80
[root@master ~]# curl -H "Host: nsd.tedu.cn" http://192.168.1.51
Welcome to The Apache.

标签:kubectl,ingress,服务,TCP,10.245,发布,master,K8S,root
From: https://blog.51cto.com/u_11806823/7484552

相关文章

  • 使用NGINX或者Openresty构建正向和方向代理服务器
    本文提供正向代理和反向代理服务器构建方法,但仅仅提供windows下的具体实例。1、编译这一步对操作者要求非常高,建议跳到第2步。(1)下载OpenResty最新源码包https://openresty.org/download/openresty-1.19.3.1.tar.gz(2)下载正向代理源码包,注意如果openresty是最新版本,则正向代理也下......
  • Meetup 回顾|Data Infra 研究社第十五期(含资料发布)
    本文整理于上周六(9月09日)DataInfra第15期的活动内容。本次活动由Databend研发工程师-韩山杰为大家带来了一场主题为《Databend数据集成方案》的分享,让我们一起回顾一下吧~以下是本次活动的相关文字、视频及资料:通过本次分享,我们能更加的了解Databend的生态工具,在不同数......
  • FTP文件共享服务
    实际工作中,经常会需要共享本地文件夹。本篇介绍HHDESK的FTP共享服务,仅需一个步骤即可创建共享连接。1新建连接首页——资源管理——服务端——“+”,在弹出框中选择FTP代理服务。填写各个选项,选择需要共享的文件夹。点击确定。地址如下,格式为“ftp://IP:端口号/”2使用......
  • KubeSphere 社区双周报 | Fluent Operator 发布 v2.5.0 | 2023.09.01-09.14
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.09.01-2023.09.14。贡献者名单新晋KubeSphereCon......
  • 【ODPS新品发布第1期】DataWorks全新发布:增强分析/数据建模个人版等新能力
    阿里云ODPS系列产品以MaxCompute、DataWorks、Hologres为核心,致力于解决用户多元化数据的计算需求问题,实现存储、调度、元数据管理上的一体化架构融合,支撑交通、金融、科研、等多场景数据的高效处理,是目前国内最早自研、应用最为广泛的一体化大数据平台。DataWorks新重点能力介绍新......
  • PCI DSS 4.0 对云服务提供商的影响1 - A1 多租户服务提供商的附加 PCI DSS 要求
    对于某些类型的服务提供商而言,PCIDSS4.0版的一大变化是附录A1的范围发生了变化。在PCIDSSv3.2.1中,附录A1的标题是"共享托管服务提供商的附加PCIDSS要求",而在PCIDSSv4.0中,附录A1的标题是"多租户服务提供商的附加PCIDSS要求"。 虽然"共享主机提供商"和......
  • 2023 Bonree ONE 秋季产品发布会,10月20日 深圳见!
    ......
  • 开源视频会议服务Jitsi Meet搭建
    现在腾讯会议和钉钉的视频会议免费版都恢复了限制,只能60分钟,遂查找开源替代,jitsi这个不错,主要功能都可替代比如共享屏幕,可以自建服务,保证信息安全,开发语言是java,如果以后进行二次开发也容易上手。官网教程地址:Self-HostingGuide-Overview|JitsiMeet其他参考文章:WebRTC之......
  • Kubernetes初探[1]:部署您的第一个ASP.NET Core应用到k8s集群
    原文:https://www.cnblogs.com/wl-blog/p/16936019.htmlKubernetes简介Kubernetes是Google基于Borg开源的容器编排调度引擎,作为CNCF(CloudNativeComputingFoundation)最重要的组件之一,它的目标不仅仅是一个编排系统,而是提供一个规范,可以让你来描述集群的架构,定义服务的最终状态,K......
  • shell脚本中使用ssh链接服务器
    1.建立从服务器A-》B的ssh免密登录2.在shell脚本中使用ssh3.遇到的问题:3.1 不会分配伪终端,因为stdin不是终端   Pseudo-terminalwillnotbeallocatedbecausestdinisnotaterminal.  Activatethewebconsolewith:systemctlenable--nowcockpit.socket......