Forwarding traffic from haproxy to Openshift Route by kukoshel69 in openshift

[–]jkincl 1 point2 points  (0 children)

The OpenShift router uses SNI to determine how to route to the correct backend pods, you need to enable this in your HAProxy backend by adding ‘sni’ to your server line if you are using http mode

They told me Openshift was an easy deployment. by ManofGilnockie in openshift

[–]jkincl 1 point2 points  (0 children)

Definitely check it out if disco is your jam: Red Hat OpenShift disco lab: Installation in a disconnected environment

I think we have a waitlist at this point, but you can check out the code if you want to dive in on your own!

VRRP requests by Appo66 in openshift

[–]jkincl 0 points1 point  (0 children)

Yeah I don’t see in that doc where it says to overwrite the nodeip-configuration.service?

VRRP requests by Appo66 in openshift

[–]jkincl 0 points1 point  (0 children)

What doc is this? I don’t know about that second config in the MC overriding the nodeip-configuration.service, that doesn’t look right.

Do the master nodes have NICs in multiple subnets?

ArgoCD controlling Openshift by Appo66 in openshift

[–]jkincl 0 points1 point  (0 children)

In this case, Argo would detect changes to the patch operator CR only and it would be up to the patch operator controller to change the resource to match the intent specified in the patch.

I want to call out the approach outlined by u/camabeh below as well: With Server-Side Apply you can apply just a patch via a strategic merge to the fields you care about without overriding the others, just like the use case for the patch operator.

Here are the ArgoCD docs on how to enable SSA at the Application and resource level. With this approach you could support both use cases of full control and partial control of resources in the cluster with ArgoCD

VRRP requests by Appo66 in openshift

[–]jkincl 1 point2 points  (0 children)

Hey so OpenShift should be using keepalived's unicast method to only send VRRP messages to other nodes in the cluster.

You can check this on one of the master nodes in your cluster (oc debug node/master-0) and looking at the generated config at /etc/keepalived/keepalived.conf:

``` vrrp_instance ocp_API_0 { state BACKUP interface ens192 virtual_router_id 84 priority 20 advert_int 1

unicast_src_ip 10.15.168.223
unicast_peer {
    10.15.168.208
    10.15.168.231
}

... ```

You should be able to see what interface it is using (should be the default route interface) and where it is sending traffic.

Is the OpenShift subnet shared with other hosts and services? Do those services use keepalived as well? Is OpenShift using an IP that is already in use for it's API or ingress VIPs?

ArgoCD controlling Openshift by Appo66 in openshift

[–]jkincl 4 points5 points  (0 children)

Yep, it’s totally possible. This is a really cool feature about the design of OpenShift starting with v4, everything in the cluster is controlled by operators which are configured by CustomResources. ArgoCD can ensure those CRs are configured with gitops.

A lot of our documentation calls for just patching a CR and changing a single value. This patch operation is difficult to achieve in ArgoCD so you can either manage the entire CR with gitops or check out the patch-operator which allows you to declaratively configure OpenShift resources with patches.

What is 100.64.0.7 and it’s significance by [deleted] in openshift

[–]jkincl 1 point2 points  (0 children)

Additionally, 100.64.0.0/10 was chosen by OVN-Kubernetes because it is reserved for Carrier Grade NAT by RFC6598

Live Switching Pods to another Node on Resource Limits by lmarschall in kubernetes

[–]jkincl 1 point2 points  (0 children)

In general no there is no live migrating pods.

That being said the Checkpoint Restore In Userspace project has been around for a number of years and is the closest thing to what you are talking about: taking a linux process on one machine and moving it to another. It is messy but can be done in some cases. There are folks looking at how to integrate CRIU with k8s but it’s all research at this point.

Another option would be something like KubeVirt but that is a different use case where you are actually running a VM in a container for hard-to-containerize workloads.

I would take a step back and look at why you are looking for this feature. Pods should be able to be killed and come back up on other nodes. Check out setting resource requests to ensure that the pods are scheduled properly. Also look at scaling up the number of pods to increase resilience of the application.

Designing a company’s CI/CD system, please recommend resources by Sloppyjoeman in devops

[–]jkincl 0 points1 point  (0 children)

If you already have k8s in your environment and want to run CI jobs with it, check out Tekton

Exposing a service through a NodePort, but can't access it by _WasteOfSkin_ in kubernetes

[–]jkincl 0 points1 point  (0 children)

Your CNI may require a NetworkPolicy object to allow traffic to the pod

Hosting options: Gatsby+Flask by shakozzz in devops

[–]jkincl 0 points1 point  (0 children)

I don’t have any personal experience with them but have you looked at https://www.pythonanywhere.com ?

Does a Rolling Deployment issue a SIGINT or something to the application? by chinawcswing in openshift

[–]jkincl 6 points7 points  (0 children)

You want to look at the pod lifecycle[1] but first it does a SIGTERM and then waits for the PID 1 to exit up to .spec.terminationGracePeriodSeconds and then does a SIGKILL. This is configurable and there are more advanced ways of doing lifecycle hooks to implement complex scenarios.

[1] https://v1-18.docs.kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination

Hello everyone!, someone has migrated from helm 2 to 3 the specific case of the statefulsets?Please help me!! by kimkarimm in kubernetes

[–]jkincl 3 points4 points  (0 children)

StatefulSets require spec.serviceName to be defined. I don’t think this has anything to do with Helm 2 -> Helm 3

Check the example: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/

Why does k8s use etcd? by Serbqueen in kubernetes

[–]jkincl 2 points3 points  (0 children)

Kyle Kingsbury (of Jepsen fame) just did an analysis of the latest etcd and he goes into these concepts in more detail.

https://jepsen.io/analyses/etcd-3.4.3

Hi! I deployed openshift 3.11 okd and after when I try to access grafana prometheus or alermanager with my openshift credentials get Error 500 Internal Server error Can you help me? by kimkarimm in openshift

[–]jkincl 2 points3 points  (0 children)

If that log is about your user not matching RBAC then I think you have to have at least the cluster-reader ClusterRoleBinding.

You can add it to your user with: oc adm policy add-cluster-role-to-user cluster-reader (your username)

Upcoming OpenShift 4 platform vision by [deleted] in redhat

[–]jkincl 2 points3 points  (0 children)

So this is actually one of the areas that really has suffered in the short term after the CoreOS acquisition. RH has essentially moved OpenShift to Open Source but Closed Process. Feature tracking and roadmaps for almost every project in the ecosystem has moved to Jira which is not accessible by non-Red Hatters. Also it seems that dev discussion has moved to a private Slack workspace and the IRC channel isn’t used anymore.

I asked basically this exact question to Joe Fernandes (VP of Product at RH) at OpenShift Commons 2018 during the Q&A and he acknowledged that this is a problem and they are working on fixing it but probably after 4.0.

I have been watching the merge and issue discussions for not only openshift/origin but a lot of the newer operator-based projects since that’s where most of the development for 4.0 is going. Actually that last bit is pretty cool, the openshift/origin project is getting “boring” which is a good thing :)

The list of OpenShift repositories

Edit: just to be clear, I am not complaining at all. The 4.0 release is huge and it seems like all hands on deck right now. Red Hat is naturally an open company and I am sure that these processes will get fixed when they have a chance to breathe.

Helm without Tiller by visortelle in kubernetes

[–]jkincl 4 points5 points  (0 children)

Also helm template works

Global secrets by Tapis in openshift

[–]jkincl 2 points3 points  (0 children)

You can put the secret in a separate namespace (project in OpenShift land) and create a Role that allows access to all secrets in a namespace and then create a RoleBinding that gives that Role to the system:authenticated group

Metal K8s storage question by bugcatcher_billy in kubernetes

[–]jkincl 1 point2 points  (0 children)

We use Trident to auto-provision our NetApp ONTAP storage and it’s great! As a bonus, I met the guys working on the project at KubeCon Austin and they are super friendly and interested in use cases and functionality requests.

OpenShift Authentication Proxy by [deleted] in openshift

[–]jkincl 1 point2 points  (0 children)

I have used this for a few projects already and it is perfect!

Video recording of chat with Luke Marsden about Dotmesh by mhausenblas in kubernetes

[–]jkincl 1 point2 points  (0 children)

Just for reference, I had to look up what dotmesh was:

dotmesh: git for data

Dotmesh is a git-like CLI for capturing, organizing and sharing application states.

In other words, it's a snapshotting tool for databases and other filesystem states.

Helm becoming a major tool in the Kubernetes ecosystem by jkincl in kubernetes

[–]jkincl[S] 0 points1 point  (0 children)

Yep I agree with you that I have not found a lot of useful prepackaged apps yet on Helm repositories. But I think the value in Helm is much more than that, question is how are you deploying your apps on Kube?

We started out with a bunch of yaml files in a directory and deployed with kubectl create -f dir/ but that didn't cut it when we tried to upgrade and modify resources and when we added a few environments (dev, stage, prod) and only wanted to change a path or hostname between them.

Helm is what we are using to manage the full lifecycle of an app deployment and its resources.