Hi @Aditya want to ask you, With recent updated version the build is failing each time citing various packages and methods as reason, whats your advice which version should we use to make sure to build it successfully. However i want to stay updateed with newer versions but it seems there is no specific controller-runtime, go-client and other packages version that is stable. If you have any link to keep the versions stable you can share also. Please refer us to a stable package version as the newer ones are not that stable. Thank you
Hi! I am getting this error when running the "mak run" command, "ERROR controller-runtime.client.config unable to get kubeconfig {"error": "invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable", "errorCauses": [{"error": "no configuration has been provided, try setting KUBERNETES_MASTER environment variable"}]}" I think the error is because that the program is running outside of the cluster. Any solution to resolve the error? BTW, I am using Kubebuilder to build my operator.
how to setup a server, then write crd for that server image, write operator for it and enable the mechanism such that even if you modify something in the manifests like adding some label or new upgrade etc then the pods shouldn't restart but the changes should be implemented?
Interesting question, well there are very few API available for kubelets, I am not sure where they can be accessed from the SDK but there are HTTP endpoints. This might help you www.deepnetwork.com/blog/2020/01/13/kubelet-api.html github.com/cyberark/kubeletctl
hey aditya , please add next video to deploy operator to cluster. if you have already uploaded please share the link ,not able to find that one. thank you
great explanation. I was struggling to understand these concepts , you made it really simple. thanks again
Glad it helped!
As a learning operator-sdk, this example and demo is a good first step!
Glad you liked it.
very good tutorial, especially because of the need of debug.
Glad it helped you
Great session, thanks for explaining!!!
Glad it helped you
Thank you very much. I am a beginner and it was very useful for me. In which case should we use kubebuilder and in which case operator-sdk?
Thanks, you can use any of the framework . Operator-sdk can be more helpful if you want to deploy the operator to operator-hub
bhaiya this scaler is a resource type (like pods) in k8? coz i am not finding this in k8 docs,.
This the the custom resource that we created in the video, you can create any resource like this
Which IDE is it?
GoLand
@@adityajoshi12 thank you, seems it has only trial period of 30 days, however, thank you!
@@itlearner1175 you can consider VScode as well
Hi @Aditya want to ask you, With recent updated version the build is failing each time citing various packages and methods as reason, whats your advice which version should we use to make sure to build it successfully. However i want to stay updateed with newer versions but it seems there is no specific controller-runtime, go-client and other packages version that is stable. If you have any link to keep the versions stable you can share also. Please refer us to a stable package version as the newer ones are not that stable. Thank you
By versions and packages i mean the modules that are listed in go.mod file which are not always stable to build an operator-sdk
I would say, don’t update the dependencies, unless needed, this happens with go a lot
great video! thanks
Glad it helped you
Thanks a lot for making this video. What do we need to do if we have deployment specific start-end times and replica number?
You can create multiple CRs in that case
can you post some more cases on operators using operator sdk
Sure,
I want to use clientset for my use case how can i implement that without clientset i am not able to get my scaler
You can generate the clientset and start using them in other projects
Hi, could you suggest whether we should use operator sdk or kubebuilder?
Operator-sdk is build using the kube-builder, but operator sdk can be used for creating helm and ansible operator. Also it supports OLM
@@adityajoshi12 So I guess, if only develop operator with go, then there is basically no difference between this 2 choices?
Go-based operators are very flexbile
Hi! I am getting this error when running the "mak run" command,
"ERROR controller-runtime.client.config unable to get kubeconfig {"error": "invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable", "errorCauses": [{"error": "no configuration has been provided, try setting KUBERNETES_MASTER environment variable"}]}"
I think the error is because that the program is running outside of the cluster. Any solution to resolve the error?
BTW, I am using Kubebuilder to build my operator.
While running kubernetes from terminal, you should have access to k8s cluster
how to setup a server, then write crd for that server image, write operator for it and enable the mechanism such that even if you modify something in the manifests like adding some label or new upgrade etc then the pods shouldn't restart but the changes should be implemented?
You should check the config reloader, they work in similar way. When you make any changes to the configuration, the changes are applied seamlessly.
can we interract with kubelet directly from the operator ?
Interesting question, well there are very few API available for kubelets, I am not sure where they can be accessed from the SDK but there are HTTP endpoints. This might help you www.deepnetwork.com/blog/2020/01/13/kubelet-api.html
github.com/cyberark/kubeletctl
Hey @Aditya, is it possible to get the logs for custom resources provisioned ?
CRDs don’t have the logs, it’s the underneath resources that emit logs like pods
hey aditya , please add next video to deploy operator to cluster. if you have already uploaded please share the link ,not able to find that one. thank you
I will have to create one
Hi @Aditya and all, can anyone help me with the operator-sdk installation in windows 10
Please check this events.redhat.com/accounts/register123/redhat/events/701f20000012tgfaaq/12-Operator_Framework_Workshop_Operator-SDK_Installation.pdf
Have you created the second part of this video? I meant deploying this operator to kubernetes cluster (Production)
Not yet
Any plans?
Looking you debug a call to Update(...) when you never modified the deployment variable was painful ;-D
Yeah, sometime doing live coding and finishing it within the time create a pressure
Nice
why you used adddress operator &replicas, in the line Deployment.spec.Replicas != &replicas. isnt it shd be without &
Replicas is of type *int32
@@adityajoshi12 and while fetching deployment instance from k8 its defualt value will be 1 right that we check initially using above if condiiton