DEV Community

loading...
Cover image for Install KUBERNETES (EKS-D)

Install KUBERNETES (EKS-D)

smashse profile image Anderson Gama Updated on ・3 min read

Install KUBERNETES (EKS-D)

OS: UBUNTU

Install Kubectl

sudo snap install kubectl --classic
Enter fullscreen mode Exit fullscreen mode

Install Amazon EKS Distro (EKS-D)

sudo snap install eks --classic --edge
Enter fullscreen mode Exit fullscreen mode
eks (1.18/edge) v1.18.9 from Canonical✓ installed
Enter fullscreen mode Exit fullscreen mode

Check the status

eks status --wait-ready
Enter fullscreen mode Exit fullscreen mode
eks is running
high-availability: no
  datastore master nodes: 127.0.0.1:19001
  datastore standby nodes: none
Enter fullscreen mode Exit fullscreen mode

Give execution permission to the current user

sudo usermod -a -G eks $USER
sudo chown -f -R $USER ~/.kube
Enter fullscreen mode Exit fullscreen mode

Export the current EKS-D configuration information for use with Kubectl

mkdir -p $HOME/.kube
sudo eks config > .kube/config
Enter fullscreen mode Exit fullscreen mode

Inspect the installation

eks inspect | grep running
Enter fullscreen mode Exit fullscreen mode
  Service snap.eks.daemon-cluster-agent is running
  Service snap.eks.daemon-containerd is running
  Service snap.eks.daemon-apiserver is running
  Service snap.eks.daemon-apiserver-kicker is running
  Service snap.eks.daemon-control-plane-kicker is running
  Service snap.eks.daemon-proxy is running
  Service snap.eks.daemon-kubelet is running
  Service snap.eks.daemon-scheduler is running
  Service snap.eks.daemon-controller-manager is running
Enter fullscreen mode Exit fullscreen mode

Check the version of Containerd

eks ctr --version
Enter fullscreen mode Exit fullscreen mode
ctr github.com/containerd/containerd v1.3.7
Enter fullscreen mode Exit fullscreen mode

Server / Client version

eks ctr version
Enter fullscreen mode Exit fullscreen mode
Client:
  Version:  v1.3.7
  Revision: 8fba4e9a7d01810a393d5d25a3621dc101981175

Server:
  Version:  v1.3.7
  Revision: 8fba4e9a7d01810a393d5d25a3621dc101981175
  UUID: 339017b3-570e-43bd-a528-4a08123868ca
Enter fullscreen mode Exit fullscreen mode

Access Kubernetes

EKS-D comes with its own version of Kubectl to access Kubernetes. Below we will cover 2 different forms of access to view the "nodes" and "services":

Conventional

eks kubectl get nodes
Enter fullscreen mode Exit fullscreen mode
NAME           STATUS   ROLES    AGE   VERSION
myuser         Ready    <none>   33m   v1.18.9-eks-1-18-1
Enter fullscreen mode Exit fullscreen mode
eks kubectl get services
Enter fullscreen mode Exit fullscreen mode
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.152.183.1   <none>        443/TCP   33m
Enter fullscreen mode Exit fullscreen mode

Recommended

kubectl get nodes
Enter fullscreen mode Exit fullscreen mode
NAME           STATUS   ROLES    AGE   VERSION
myuser         Ready    <none>   33m   v1.18.9-eks-1-18-1
Enter fullscreen mode Exit fullscreen mode
kubectl get services
Enter fullscreen mode Exit fullscreen mode
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.152.183.1   <none>        443/TCP   33m
Enter fullscreen mode Exit fullscreen mode

Note: As shown, the 2 forms have the same result, but from this point on we will only use the "Recommended" with Kubectl.

Deploy a test application

kubectl create deployment nginx --image=nginx
Enter fullscreen mode Exit fullscreen mode
deployment.apps/nginx created
Enter fullscreen mode Exit fullscreen mode
kubectl get pods
Enter fullscreen mode Exit fullscreen mode
NAME                    READY   STATUS    RESTARTS   AGE
nginx-f89759699-2w75l   1/1     Running   0          33s
Enter fullscreen mode Exit fullscreen mode

Starting and stopping EKS-D

EKS-D will continue to run until you decide to stop it. You can stop and start with the commands below:

sudo eks stop
Enter fullscreen mode Exit fullscreen mode
Stopped.
Enter fullscreen mode Exit fullscreen mode
sudo eks start
Enter fullscreen mode Exit fullscreen mode
Started.
Enter fullscreen mode Exit fullscreen mode

Basic information of your Kubernetes cluster

Server/Client version

kubectl version --short=true
Enter fullscreen mode Exit fullscreen mode
Client Version: v1.19.4
Server Version: v1.18.9-1+c787d4d0c397b8
Enter fullscreen mode Exit fullscreen mode

Cluster information

kubectl cluster-info
Enter fullscreen mode Exit fullscreen mode
Kubernetes master is running at https://192.168.254.100:16443
CoreDNS is running at https://192.168.254.100:16443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Metrics-server is running at https://192.168.254.100:16443/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy
Enter fullscreen mode Exit fullscreen mode

Configuration information

kubectl config view
Enter fullscreen mode Exit fullscreen mode
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://192.168.254.100:16443
  name: microk8s-cluster
contexts:
- context:
    cluster: microk8s-cluster
    user: admin
  name: microk8s
current-context: microk8s
kind: Config
preferences: {}
users:
- name: admin
  user:
    token: REDACTED
Enter fullscreen mode Exit fullscreen mode

Note: To view the access token, use the "--flatten=true" option.

View the nodes

kubectl get nodes -w
Enter fullscreen mode Exit fullscreen mode
NAME           STATUS   ROLES    AGE   VERSION
myuser         Ready    <none>   33h   v1.18.9-eks-1-18-1
Enter fullscreen mode Exit fullscreen mode

Information about a particular node

kubectl describe node myuser
Enter fullscreen mode Exit fullscreen mode

Source:

https://microk8s.io/

https://microk8s.io/docs/commands

https://snapcraft.io/eks

https://snapcraft.io/kubectl

https://ubuntu.com/blog/install-amazon-eks-distro-anywhere

Discussion (0)

Forem Open with the Forem app