Containers and Kubernetes

Get Involved. Join the Conversation.


  • Jon-Eric Eliker

    Hi John.  You are correct that there are still some outdated tutorials out there related to Oracle Cloud services which has changed substantially in the past few years.  You should find the information on and to be up-to-date regardless what you might find through open Internet searching.
    Here you'll find links to almost everything related to Oracle Cloud services.  You'll find the Major divisions "Applications," "Platform," "Infrastructure," and "Resources" at the top. You'll probably be most interested in what you find in Infrastructure (related to OCI) and Platform (services that leverage OCI such as the Developer Cloud Service).
    This is the main documentation set for OCI.

    What likely matches your interests (as I read from your post) will be one of the following:

    • OCI Container Engine for Kubernetes ("OKE")
      Use this to launch and manage Docker instances controlled via Kubernetes.  OCI does much of the setup for you leaving you to create, deploy, and run your Docker images. Notably, this service will probably involve OCI Registry "(OCIR") as well to store your Docker images. Kumar's tutorial link above uses OKE
    • Oracle Developer Cloud Service
      This is a PaaS service that uses OCI resources (i.e. the servers you use for development and deployment are built in OCI).  You access this from the My Services page and not directly from OCI as shown in your screenshot. I don't recall if trial accounts include Developer Cloud Services but, if so, you can reach that by selecting My Services from the OCI menu then finding Developer Cloud under the My Services page menu (top left hamburger button).
    • OCI Functions
      This one is most intriguing to me.  Functions, based on the open-source Fn project, provides you the means to deploy one or more functions independently. If this is new to you, consider that the goal here is to provide "Functions as a Service" allowing granular control over scaling, costs, and maintenance all the way down to the function level.  This is probably the quickest to deploy of the three options. I did a node "hello world" deployment in about 5 min after reading your message above. There is a bit of overhead for setup if you've never used Functions before (I had for Python work previously) but in all shouldn't take you more than 15-30 minutes the first time and 5 minutes thereafter.
  • Kumar Dhanagopal

    To get started with creating a K8s cluster on Oracle Cloud, you might this tutorial useful:

    Also see the reference links included at the end of the tutorial.

  • Dario Stella

    Hi, I am having the same issue but with another software running in the pods. Have you fix it?

    Thanks in advance

  • Karthik Murthy

    Thank you Joydeepta.

    I would like to preserve the IP of my external client that the backend pod sees. Consider the scenario below

    Client -- OCI LoadBalancer -- Ingress -- BackEnd Pod (Client IP)-- <Public IP of OCI LB> -------- (Backend Pod IP) 

    I expect to see src IP being preserved upto Backend Pod i.e the backend pod to see that the request is coming in from Or atleast that the request is coming in from the IP of the Ingress Pod. Right now the backend pod sees the request coming in from a private IP of the LB. I hope my expectation is clear

  • Joydeepta Bhattacharjee

    Is it that you are looking to preserve the Ip which your consumer sees when calling the externalised POD? Ask is not clear ? You have a Ingress rule which would give you a host mapped against the OCI Load balencer IP which your consumer app may use .

  • Joydeepta Bhattacharjee
    It's now perfectly working thanks Leo from product management as primarily the issue was a duplicate selector in the services under the default namespaces
  • Kumar Dhanagopal

    You're welcome, Patrick!

  • Patrick Dizon

    Hi Kumar

    Yes that solved the problem thank you for your help

  • Joydeepta Bhattacharjee

    Trying to communicate with service-name and  FQDN in particular between the pods but seems to be not feasible ?

  • Joydeepta Bhattacharjee

    I have checked the kube-dns and tried to debug with following :"

    kubectl describe services kube-dns --namespace kube-system , kubectl describe svc my-api  but when i exec(kubectl exec -it second-pod) to a pod and wget the other pod it's not reached? I also connected a busy-box image to debug the kube-dns networking between pods. 

  • Kumar Dhanagopal

    On your local host, pls change the permissions for your private key (.ssh/id_myk8s_rsa) to 600, and then try ssh'ing to the node.

    chmod 600 .ssh/id_myk8s_rsa

  • Kumar Dhanagopal

    I suggest creating the K8s cluster in a VCN that has a different CIDR range than the VCN that's used for the DB. That way, you can use local VCN peering to enable the K8s cluster nodes to communicate with the DB using its private address, instead of routing over the public internet.


  • Kumar Dhanagopal

    Per this doc: Using the Console to create a 'Quick Cluster' with Default Settings...

    Note that because worker nodes in a 'quick cluster' are in private subnets, you cannot use SSH to access them directly (see Connecting to Worker Nodes in Private Subnets Using SSH).


  • Joydeepta Bhattacharjee

    Let's are request the K8 SMEs in Oracle to comment internally the best practices and tools to help in several enablers to attend service resiliency , discovery , fault tolerence , auto scaling and communication standard between multiple api's and from UI. I am requesting Oracle Experts to contribute as there are several topics like CQRS , gRPC communication , messaging etc. are over discussed but not standardised from Oracle OKE perspective.

  • Joydeepta Bhattacharjee

    I am posting a Handout for using devcs to build and deploy in K8 OKE clusters and monitoring it, but still not clear how to adopt to CQRS or a better MS decoupled communication. Looking for comments