This tutorial will guide you through the basics of Red Hat CoreOS.
Red Hat CoreOS is the immutable, container-optimized operating system for OpenShift.
To access the host, we will ssh into a master.
oc get nodes -l node-role.kubernetes.io/master -o wide
Select a machine, and export EXTERNAL_IP=<EXTERNAL IP>
To access the host:
ssh -i $PEM_FILE core@$EXTERNAL_IP
Red Hat CoreOS 4.0
Information: https://url.corp.redhat.com/redhat-coreos
Bugs: https://github.com/openshift/os
---NOTE In the future, accessing a host via ssh will taint the node.
Red Hat CoreOS runs a RHEL kernel and uses RHEL content.
To view the RHEL kernel, execute the following command:
uname -rs
Linux 3.10.0-957.1.3.el7.x86_64Executes during early boot and writes files (regular files, systemd units, etc.) required to configure the host.
The configuration is served from the control plane.
The kubelet is packaged with the operating system. It is not run in a
container. It is configured to use cri-o as the runtime.
To view status for kubelet, execute the following:
systemctl status kubelet -l
● kubelet.service - Kubernetes Kubelet
Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-12-03 19:49:15 UTC; 49min ago
Process: 4104 ExecStartPre=/bin/mkdir --parents /etc/kubernetes/manifests (code=exited, status=0/SUCCESS)
Main PID: 4124 (hyperkube)
Memory: 161.9M
CGroup: /system.slice/kubelet.service
└─4124 /usr/bin/hyperkube kubelet --config=/etc/kubernetes/kubelet.conf --bootstrap-kubeconfig=/etc/kubernetes/kubeconfig --rotate-certificates --kubeconfig=/var/lib/kubelet/kubeconfig --container-runtime=remote --container-runtime-endpoint=/var/run/crio/crio.sock --allow-privileged --node-labels=node-role.kubernetes.io/master --minimum-container-ttl-duration=6m0s --client-ca-file=/etc/kubernetes/ca.crt --cloud-provider=aws --anonymous-auth=false --register-with-taints=node-role.kubernetes.io/master=:NoScheduleContainer runtime for Kubernetes. To view status for cri-o, execute the
following:
systemctl status crio
● crio.service - Open Container Initiative Daemon
Loaded: loaded (/usr/lib/systemd/system/crio.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-12-03 19:48:28 UTC; 49min ago
Docs: https://github.com/kubernetes-sigs/cri-o
Main PID: 4268 (crio)
Memory: 3.4G
CGroup: /system.slice/crio.service
└─4268 /usr/bin/crio --cni-config-dir=/etc/kubernetes/cni/net.d --cni-plugin-dir=/var/lib/cni/binInspected and debugged via crictl
To view running pods via crictl, execute the following:
sudo crictl podsExecutes containers required to bring up a cluster on bootstrap machine.
To view containers, execute the following command:
sudo podman psIn the next step, we will explore how OpenShift nodes are configured via an operator.
Next: Maching Config