DeOSphere
  • 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 DeOSphere?
  • Pricing
  • Security
  • About
DeOSphere
  • 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 DeOSphere?
  • Pricing
  • Security
  • About

A Quickstart Guide to Deploying Qinling in Production

byGaëtan Trellu inUncategorized posted onJuly 11, 2019
0
0
A Quickstart Guide to Deploying Qinling in Production

Qinling is an OpenStack project to provide Function-as-a-Service. This project aims to provide a platform to support serverless functions (like AWS Lambda). Qinling supports different container orchestration platforms (Kubernetes/Swarm, etc…) and different function package storage backends (local/Swift/S3) by nature using plugin mechanism.

Basically, it allows you to trigger a function only when you need it, helping you to consume only the CPU and memory time that you really need without requiring you to configure any servers. In the end, this makes for a lighter billing, making everyone happy. (There’s a lot more about Qinling online if you want to take a deeper dive.)

Deploying Qinling in production

Our platforms are deployed and maintained by Kolla, an OpenStack project to deploy OpenStack within Docker and configured by Ansible. The first thing I checked was to see if Qinling integrated with Kolla, alas…no.

When you have to manage production you don’t want or like to deal with custom setups that are impossible to maintain or to upgrade (that little voice in your head knows what I mean), so I started working integrating Qinling in Kolla, namely the Docker and Ansible parts.

The qinling_api and qinling_engine containers are now up and running, configured to communicate with RabbitMQ, MySQL/Galera, memcached, Keystone and etcd. The final important step is to authenticate qinling-engine to the Kubernetes cluster — I must admit this was the most complex to set up and that the documentation is a bit confusing.

Qinling and Magnum, for the win!

Our Kubernetes cluster has been provisioned by OpenStack Magnum, an OpenStack project used to deploy container orchestration engines (COE) such as Docker Swarm, Mesos and Kubernetes.

Basically, the communication between Qinling and Kubernetes is done by SSL certificates (the same ones used with kubectl), qinling-engine needs to be aware of the CA, the certificate and the key and the Kubernetes API endpoint.

Magnum provides a CLI which allows easily to retrieve the certificates, just make sure that you have python-magnumclient installed.

# Get Magnum cluster UUID
$ openstack coe cluster list -f value -c uuid -c name
687f7476–5604–4b44–8b09-b7a4f3fdbd64 goldyfruit-k8s-qinling
# Retrieve Kubernetes certificates
$ mkdir -p ~/k8s_configs/goldyfruit-k8s-qinling
$ cd ~/k8s_configs/goldyfruit-k8s-qinling
$ openstack coe cluster config --dir . 687f7476-5604-4b44-8b09-b7a4f3fdbd64 --output-certs
# Get the Kubernetes API address
$ grep server config | awk -F"server:" '{ print $2 }'

Four files should have been generated in ~/k8s_configs/goldyfruit-k8s-qinling directory:

ca.pem — CA — ssl_ca_cert (Qinling option)
cert.pem — Certificate — cert_file (Qinling option)
key.pem — Key — key_file (Qinling option)
config— Kubernetes configuration

Only ca.pem, cert.pem and key.pem will be useful in our case (config file will only be used to get the Kubernetes API), which from Qinling documentation will become these options:

[kubernetes]
kube_host = https://192.168.1.168:6443
ssl_ca_cert = /etc/qinling/pki/kubernetes/ca.crt
cert_file = /etc/qinling/pki/kubernetes/qinling.crt
key_file = /etc/qinling/pki/kubernetes/qinling.key

At this point if qinling-engine has restarted, then you should see a network policy created on the Kubernetes cluster under the qinling namespace (yes, you should see that too).

The network policy mentioned above could block the incoming traffic to the pods inside the qinling namespace which result in a timeout from qinling-engine. A bug has been opened about this issue and it should be solved soon, so right now the “best” thing to do is to remove this policy (keep in mind that every time than qinling-engine will be restarted the policy will be re-created).

$ kubectl delete netpol allow-qinling-engine-only -n qinling

Just a quick word about the network policy created by Qinling. It has the objective to restrict the pod access to a trusted CIDR list (192.168.1.0/24, 10.0.0.53/32, etc…) preventing connections from unknown sources.

One common issue is to forget to open the Qinling API port (7070), this will prevent the Kubernetes cluster to download the function code/package (it’s time to be nice with your dear network friend ^^).

Runtime, it’s time to run!

One of Qinling pitfalls is the “lack” of runtime, preventing Qinling to be widely adopted, the reason why there are not that much is because of security reasons (completely understandable).

Actually, in the production environment (especially in the public cloud), it’s recommended that cloud providers supply their own runtime implementation for security reasons. Knowing how the runtime is implemented gives the malicious user the chance to attack the cloud environment.

So far, “only” Python 2.7, Python 3 and Node.JS runtimes are available, it’s a good start but it would be nice to have it for Golang and PHP too (just saying, not asking).

Conclusion

My journey has just begun and I think Qinling has a huge potential, which is why I was a bit surprised to see the project isn’t popular as it could be.

Having it in Kolla, improving the documentation for integration with Magnum, Microk8s, etc… and providing more runtimes would help the project to gain the popularity it deserves.

Thanks to Lingxian Kong and the community for making this project happen!

This post has appeared on Superuser and Medium.

OpenStack Summit

Share:
Gaëtan Trellu

Gaëtan manages the TechOps team to implement and stabilize new features on the Ormuco Infrastructure-as-a-Service platform. Gaëtan has previously worked as a DevOps Engineer and as the CloudOps Lead at Ormuco. He is self-taught in IT, with particular expertise in the Unix and Linux ecosystems.

Previous

Not Sure if Bare Metal Servers Are for You? This Might Help You Decide.

Next

How to Set Up Ambassador with Socket.io

Keep on reading

December 20, 2025
Премиальные функции диалоговый-игорный Вулкан казино дом а также способу начисления рекламных возмездий
No Comments
July 31, 2026
MaxiSpin: Quick Spin Fun for On-The-Go Players
No Comments
March 25, 2026
Бонусные путешествия онлайновый-казино вдобавок аэромеханика https://modernceramica.ru/ru-ru/ начисления безмездных воззваний
No Comments

Search

Categories

  • ! Без рубрики
  • 1
  • 100%A Z
  • 11
  • 111
  • 12
  • 1200 Z
  • 1200 Z
  • 13
  • 1500 Z
  • 1500 Z
  • 1500 Z
  • 1500A Z
  • 19
  • 2
  • 2000 Z
  • 2000A Z
  • 20bet
  • 25
  • 3
  • 4
  • 5
  • 500A Z
  • 6
  • 7
  • a16z generative ai
  • Ace Spinz Casino
  • All Check
  • ar-t1-aio
  • asterisk-support.rubadges 100
  • asterisk-support.ruquestion87844jetton-vhod 800
  • aug_bahsegel
  • aug_ch_common
  • aug_pinco
  • avite.ru a 1500
  • azurslot
  • Baxterbet Casino
  • best online casino
  • bestcasinogame151017-18
  • bestslotcasino21101
  • Betero Casino
  • Betfouru Casino
  • Betify
  • bh
  • bh_1
  • bh_main_may
  • bizzo casino
  • bk-pokerdom-bonus.clients.site 501
  • Blog
  • BLOG DE
  • blog-ch
  • bonus-kod-pokerdom-promokod.clients.site 510
  • Bonuskong Casino
  • bonusy-v-pokerdom.clients.site 520
  • boomerang
  • Bruno Casino Login
  • bt
  • bt_main
  • Business
  • campobet
  • casino
  • Casino AT
  • casino bez vkladu
  • casino ch
  • Casino DE
  • Casino Lizaro
  • Casino Snatch
  • Casino uden ROFUS
  • casino utan svensk licens
  • casino zonder crucks
  • Casino-GR
  • casino/betting/nutra
  • Casino1
  • Casino2
  • Casino3
  • Casino4
  • casino7k-cash.cam 700 b
  • Casperbets Casino
  • ch
  • ChanceBit Casino
  • Channel News
  • Chanze Casino
  • Chicken Road 2
  • Cloud News
  • cocobet
  • coldgrindorganic.com
  • comp-doma.ru a 1200
  • Computers, Games
  • Construction News
  • crossarea.ru a 1200
  • crownplay
  • crypto
  • CuppaWins Casino
  • Daily Mriya Social
  • de.trustpilot.com 1500
  • deutschklasse.ru a 1500
  • Developers Corner
  • dyuc-kontakt.ru a 1500
  • ehorussia.ru a 1200
  • Escort Jobs
  • Euteller Kasinot
  • Evolve Casino
  • exactlyawards.ru a 1500
  • Fair Go Casino
  • fairspin
  • Fatbet Casino
  • findfood.ru 2000
  • fr t2
  • friroll-na-pokerdom.clients.site 513
  • gamblezen
  • Gamblezen Casino
  • Gambling
  • gambling, games
  • Golden Ring Casino
  • HR News
  • Ilmaiskierrokset Ilman Talletusta
  • ipg-ltd
  • ivspeedcentr.ru a 1200
  • Jackbit Casino
  • Jeu Du Poulet
  • jule_canli_common
  • jule_ch_main
  • Jule_pb_common
  • jule_pb_ormanistanbul.com
  • jule_pb_zurichberg.com
  • jule_sb_main
  • jully_rb_sarosdanenerede.com
  • july_pinco_common
  • July_pinco_Sepi
  • july_rb_common
  • july_rb_shopharbourroad.com
  • kak-poluchit-10-na-pokerdom.clients.site 542
  • kak-popolnit-schet-v-pokerdom.clients.site 506
  • Kakadu Casino
  • kakoj-promokod-v-pokerdom.clients.site 506
  • kazino-pokerdom-ofitsialnyj-1789481061433.clients.site 508
  • Kingdom Casino Login
  • Kingz Casino
  • kz-ru
  • lagazzettacatanese.it 453
  • Lamabet Casino
  • legiano
  • lippsy.se
  • liustudentsecondhand.se
  • Lizaro
  • Lizaro Casino
  • Lolajack Casino
  • Looniegold Casino
  • Lucki Casino
  • Lucky Minning Casino
  • luxury casino
  • Mafia Casino
  • Magic Win Casino
  • magius
  • Millioner Casino
  • Millionz Casino
  • Mino Casino
  • mystake
  • Mystake Casino
  • Nana Casino
  • nauticboats.ru 72
  • News
  • Ninewin
  • novos-casinos-2026
  • Nv Casino Online
  • oktober-adm.ru 250 a
  • online casino zahranicni
  • onlinecasinogame211023-24
  • onlyspins
  • ozwin
  • pages
  • Parhaat Kasinobonukset
  • paroli-friroll-pokerdom-1789558662627.clients.site 513
  • Paysafecard Casino
  • pb
  • pc
  • pistolo
  • platinum play
  • playamo
  • Playzini Casino
  • poker-pokerdom.clients.site 505
  • pokerdom
  • pokerdom test 2
  • pokerdom test 2 – Copy
  • pokerdom-avtomaty.clients.site 501
  • pokerdom-bk.clients.site 520
  • pokerdom-bonus-bez-depozita.clients.site 503
  • pokerdom-bonus-promokod-pri.clients.site 511
  • pokerdom-brauzer.clients.site 526
  • pokerdom-forum.clients.site 509
  • pokerdom-friroll-parol-na.clients.site 505
  • pokerdom-gorjachaja-linija.clients.site 509
  • pokerdom-klient-na-android.clients.site 1003
  • pokerdom-na-realnye-dengi-na.clients.site 518
  • pokerdom-na-realnye.clients.site 1001
  • pokerdom-ofitsialnyj-sajt-1789712039484.clients.site 509
  • pokerdom-ofitsialnyj-sajt-1789713208145.clients.site 512
  • pokerdom-ofitsialnyj-sajt-1790057697145.clients.site 508
  • pokerdom-ofitsialnyj-sajt-i.clients.site b 1000
  • pokerdom-ofitsialnyj-sajt-na-1789656400084.clients.site 507
  • pokerdom-ofitsialnyj-skachat-1790070149183.clients.site 534
  • pokerdom-otzyvy-2026.clients.site 1002
  • pokerdom-paroli-friroll.clients.site 503
  • pokerdom-poker-skachat-na-pk.clients.site 503
  • pokerdom-skachat-pk.clients.site 516
  • pokerdom-vhod-na-sajt.clients.site 518
  • pokerdom-vyvody.clients.site 511
  • pokerdom-zablokirovali.clients.site 516
  • Post
  • press
  • Press Releases
  • pro-sarapul.ru 250 b
  • proverka
  • pu
  • public
  • Qbet Casino
  • Qzino Casino
  • rabochij-promokod-pokerdom-1789539101435.clients.site 515
  • rb_kasynolupa
  • rb_main
  • rc-langepas.ru 2000
  • reklama-pokerdom.clients.site 517
  • Retail News
  • review
  • Ringospin Casino
  • robocat
  • Rokubet
  • roobet
  • rprf.ru b 200
  • sadisibiri.ru a 1200
  • Sankra
  • sat-ch
  • sb_main
  • ska-khabarovsk.ru
  • skachat-pokerdom-dlja-androida.clients.site 537
  • skopinmuseum.ru b 1300
  • slota
  • Slotexo Casino
  • slotsgem
  • Slottyway
  • spinanga
  • Spinboss Bonus
  • Spinboss Login
  • Spinfin Casino
  • SpinRain Casino
  • Spins
  • Spins Castle Casino
  • spinyoo
  • sportaza
  • stage4u.ru 2000
  • Stake Casino France
  • studio-petukh.ru a 1300
  • Superlines Casino
  • t.mePokerdom_2026
  • tarif73.ru a 1300
  • Technology
  • textsHU
  • thebeautifullife
  • Uncategorized
  • Uudet Kasinot Ilman Rekisteröitymistä
  • Uudet Verovapaat Nettikasinot
  • Uusi Kasino
  • Vasy Casino
  • Vegas Hero
  • Vegashero Casino
  • velobet
  • Velobet Casino
  • Verovapaa Casino
  • Verywell Casino
  • Vidobet Casino
  • VipLuck Casino
  • wazamba
  • Westace Casino
  • winbay
  • Winbig21 Casino
  • wingaga
  • Winit Casino
  • Winlegends Casino
  • Winnita Casino
  • winshark
  • wiz slots
  • www.admsoln.ru a 1500
  • www.cashbaka.ru 2000
  • www.investigatore-privato-agenzia-investigativa-viterbo.it 451
  • www.notarius-falkova.ru a 1200
  • www.vitaconsacrataliguria.it 452
  • xn—-itbjbj2arv.xn--p1ai a 1500
  • Zimpler Kasino
  • zoome casino
  • Блог
  • Казино
  • Сплиты
  • яокб.рф a 1200

DeOSphere

DeOSphere 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 DeOSphere include compute, storage, networking, and databases.

Company

  • Why Choose DeOSphere?
  • Newsroom

Legal

  • Privacy Policy
  • Security
  • Pricing

Contact Us

  • info@deosphere.net