Jiyus
  • All Resources & Services
    • Compute
      • Virtual Instances
      • Bare Metal Instances
      • Managed Kubernetes
      • Big Data
      • Functions Engine
      • Data Protection
    • Services
      • Managed Databases
      • Applications Marketplace
      • Orchestration
      • Developer Tools
      • Management Tools
      • User Interface
    • Storage
      • Object Storage
      • Block Storage
      • File Storage
    • Networking
      • Software-Defined Networking
  • Why Choose Jiyus?
  • Pricing
  • Security
  • About
Jiyus
  • All Resources & Services
    • Compute
      • Virtual Instances
      • Bare Metal Instances
      • Managed Kubernetes
      • Big Data
      • Functions Engine
      • Data Protection
    • Services
      • Managed Databases
      • Applications Marketplace
      • Orchestration
      • Developer Tools
      • Management Tools
      • User Interface
    • Storage
      • Object Storage
      • Block Storage
      • File Storage
    • Networking
      • Software-Defined Networking
  • Why Choose Jiyus?
  • Pricing
  • Security
  • About

How to Set Up Ambassador with Socket.io

byYulong Song inUncategorized posted onJuly 18, 2019
0
0

Long story short: I need events in my application.

A little bit more about the project: I’m building a large-scale web application with micro-service architecture. We use Kubernetes to deploy our micro-services with Ambassador acting as the gateway. Everything works great until I need to have a prefix for my Socket.io micro-service.

As usual, I create my service yaml like this:

— -
apiVersion: v1
kind: Service
metadata:
 name: test-socket
 annotations:
 getambassador.io/config: |
 — -
 apiVersion: ambassador/v1
 kind: Mapping
 name: test_socket_mapping
 prefix: /test/
 service: test-socket
 timeout_ms: 20000
 use_websocket: true
spec:
 selector:
 app: test-socket
 ports:
 — name: first
 protocol: TCP
 port: 443
 targetPort: 8000
 — name: second
 protocol: TCP
 port: 80
 targetPort: 8000

Also the deployment yaml like this:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: test-socket
spec:
  replicas: 1
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: test-socket
    spec:
      containers:
      - name: spiderkube-event-container
        image: sylhero/test-socket
        env:
        - name: NODE_ENV
          value: "development"
        imagePullPolicy: Always
        ports:
        - containerPort: 8000
        livenessProbe:
          tcpSocket:
            port: 8000
          initialDelaySeconds: 30
          periodSeconds: 10
          successThreshold: 1

Life is good. All I need to do is connect my newly deployed test-socket micro-service with my socket client.

I have a simple test client like this:

const
    io = require("socket.io-client"),
    ioClient = io.connect("https://dev.test.io/test"); 

What I expect to see on the pod log is something that says “connection success” or “receiving request from 1.1.1.1”, etc. However, I don’t see anything on the pod log. Everything works fine on my local! After I spent a whole day looking into this, I finally figured out:

It’s the client path.

I updated my test client code like this:

const
    io = require("socket.io-client"),
    ioClient = io.connect("https://dev.test.io", {
     path: "/test/socket.io/"
    });

Voila! Now it works like a charm!

Ambassador is a great gateway for Kubernetes but it’s also very new as a result, documentation is always in need. Hopefully, my small article can contribute to it and help people who are doing the same thing with Ambassador.

Source code link: https://github.com/sylhero/test-socket

This article was originally published on Medium.

OpenStack Summit

Share:
Yulong Song

Yulong leads the team that’s developing Ormuco's dynamic application deployment platform, with responsibilities in front-end development and DevOps. Yulong has previously worked as a Full-Stack Developer at Ormuco. He graduated with a Master of Computer Science from Concordia University and a Bachelor of Management Science from University of Shanghai for Science and Technology.

Previous

A Quickstart Guide to Deploying Qinling in Production

Next

Currying Functions in JavaScript, Recursively

Keep on reading

August 20, 2026
Regal Diamond sweet bonanza casino VIP
No Comments
August 31, 2026
Świetne automaty internetowego za darmo Stare automaty sprawdź witrynę do odwiedzenia gierek
No Comments
September 2, 2026
Per di piu, non qualsiasi i giochi contribuiscono allo identico modo al arrivo dei requisiti di scorsa
No Comments

Search

Categories

  • ! Без рубрики
  • 1
  • 10-лучших-казино-онлайн-50
  • 100%A Z
  • 1000A Z
  • 11
  • 111
  • 12
  • 1500A Z
  • 1500A Z
  • 17
  • 1800A Z
  • 19
  • 2000A Z
  • 2000A Z
  • 2000A Z
  • 20bet
  • 21
  • 3
  • 3000A Z
  • 3000A Z
  • 4
  • 5
  • 500A Z
  • 6
  • 62
  • 800A Z
  • 9
  • a16z generative ai
  • admzgem.ru a 500
  • alliance-teh.ru
  • Allyspin
  • Ardente Casino
  • aug_pinco
  • Bananzia Casino
  • bancrf.ru 401
  • Baxterbet Casino
  • best online casino
  • Betninja Casino
  • Betorange Casino
  • bizzo casino
  • Blog
  • BLOG DE
  • blog-ch
  • Buffbets Casino
  • Business
  • captain cooks
  • casino
  • casino ch
  • Casino DE
  • Casino Julius
  • Casino Leon
  • Casino Olympe
  • casino utan svensk licens
  • casino zonder crucks
  • casumo
  • Chicken Road 2
  • cocobet
  • Computers, Games
  • cslovo.com a 1500
  • cuphead.ru a 500
  • Daily Mriya Social
  • daya4d13345.netlify.app 515
  • Developers Corner
  • Dolly Casino
  • dom2online.net 1004
  • ds29podtes.ru 408
  • Duffspin Casino
  • duospin
  • dzheton-geyms-casino.xyz
  • exactlyawards.ru 2000
  • fanstyle.ru 1000
  • Fridayroll
  • frmrbook.ru
  • gameloop-app.ru a 750
  • gametrick.ru 414
  • getbottle.ru a 750
  • Golden Mister Casino
  • gransino
  • halalstarter.com 401
  • healthfreedom.net b 500
  • helpalfa.ru a 750
  • ipg-ltd
  • iwild
  • Jule_pb_common
  • jule_pb_ormanistanbul.com
  • jully_rb_sarosdanenerede.com
  • july_pinco_common
  • July_pinco_Sepi
  • Kakadu Casino
  • ko-ito-to.netlify.app 519
  • kontorra.ru b 750
  • kopi771.netlify.app 511
  • Lamabet Casino
  • lav-lav.com a 500
  • le-bandit-play.comen a 1000
  • legiano
  • liceumzima.ru a 750
  • lidmart.com 2000
  • Lolajack Casino
  • lucky-pharao-de.de 1004
  • magius
  • master-chehol.ru b 750
  • mba-mini.ru 421
  • Mr Pacho
  • Mystake Casino
  • nardcare.ru b 500
  • narkologyserbskogo.ru b 500
  • national casino
  • National Casino Login
  • News
  • norm-casino-20
  • normcasino8007.com 502
  • nykhas.ru 414
  • online-winx-games.ru 425
  • Oxi Casino
  • paypal casino canada
  • pb
  • pc
  • pistolo
  • platinum play
  • playamo
  • playfortuna
  • politgen.ru 200
  • Post
  • Press Releases
  • ptmap.ru 1000
  • public
  • Qzino Casino
  • razorshark-game.de 1001
  • review
  • riccinatalia.com 1005
  • Ringospin Casino
  • rocketplay
  • roobet
  • santekhnicheskieraboti-podolsk.ru 405
  • Sat AT
  • sat-ch
  • skycrown
  • Slotexo Casino
  • Slotlair Casino
  • Spellen
  • spinanga
  • Spins Castle Casino
  • sportaza
  • spu30.ru 1500
  • Stake Casino France
  • t.mebonus_pokerdom 1008
  • t.meofficial_site_pokerdom 1006
  • t.meofficial_site_pokerdom 1012
  • t.meofitsialny_pokerdom 1009
  • t.mepokerdom_oficial 1001
  • t.mepokerdom_otzyvy 1010
  • t.meriobet_com 1006
  • t.meriobet_fs 1003
  • t.meriobet_fs 1503
  • Technology
  • textsHU
  • thebeautifullife
  • thunderpick
  • tsars
  • Uncategorized
  • Unlimluck
  • Vasy Casino
  • Verywell Casino
  • Verywell Casino Uk
  • wdbos333.netlify.app 505
  • Winlegends Casino
  • Winnita Casino
  • Winsmania Casino
  • wiz slots
  • www.montessori-center.ru 1000
  • www.youtube.com@Exotflorastino
  • казино-на-деньги-50
  • Сплиты

Jiyus

Jiyus is an infrastructure-as-a-service platform that aggregates the computing resources of local data center providers, and transforms these resources into a global network of decentralized computing. Resources available on Jiyus include compute, storage, networking, and databases.

CREATE AN ACCOUNT

Company

  • Why Choose Jiyus?
  • Newsroom

Legal

  • Privacy Policy
  • Security
  • Pricing

Contact Us

  • info@jiyus.com
© 2020 Ormuco Inc.