Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which CNI is best for running the .net core application with external sql server in kubernate deployment?

Tags:

kubernetes

cni

I need to use best-suited cni for Dotnet core with SQL server(Same Network but different IP) Kubernetes deployment.

like image 937
Ramesh Hariharan Avatar asked Dec 15 '25 05:12

Ramesh Hariharan


1 Answers

It depends...

TCP matters

There is great article on performance of different CNI: Benchmark results of Kubernetes network plugins (CNI)

According to the charts, almost all CNI are best adapted to TCP.

See: TCP performance among CNI TCP performance among CNI

Since you are pointed in comments that you are use MS SQL, so TCP is the main protocol for your case. Default MS SQL setup uses TCP/IP protocol

So, among all CNI, according to their performance, you can choose almost any (except encrypted Clilium and encrypted WaveNet)

MTU matters too

But, if you compare chart of performance with CNIs auto-detect MTU option, you can see that only Cilium and Flannel remain champions (except for bare metal):

MTU auto-detected by CNIs

Does security matters?

It depends.

Assuming that MS SQL provides the proper level of security out of the box, you can skip that part of recommendations.

If you decide that additional security level does matter for your case, you can refer this matrix:

Summary of security benchmark result

Conclusion

So, for SQL, if you choose from performance, then with a slight advantage you can choose Flannel or Cilium. If security matters, then Cilium is better.

P.S. The answer below mentioned Calico. As you can see on the TCP performance chart, Calico is the leader. But if you can setup correct MTU in your cloud.

like image 61
Yasen Avatar answered Dec 16 '25 23:12

Yasen



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!