Install KUBERNETES (EKS-D)
OS: UBUNTU
Install Kubectl
sudo snap install kubectl --classic
Install Amazon EKS Distro (EKS-D)
sudo snap install eks --classic --edge
eks (1.18/edge) v1.18.9 from Canonical✓ installed
Check the status
eks status --wait-ready
eks is running
high-availability: no
  datastore master nodes: 127.0.0.1:19001
  datastore standby nodes: none
Give execution permission to the current user
sudo usermod -a -G eks $USER
sudo chown -f -R $USER ~/.kube
Export the current EKS-D configuration information for use with Kubectl
mkdir -p $HOME/.kube
sudo eks config > .kube/config
Inspect the installation
eks inspect | grep running
  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
Check the version of Containerd
eks ctr --version
ctr github.com/containerd/containerd v1.3.7
Server / Client version
eks ctr version
Client:
  Version:  v1.3.7
  Revision: 8fba4e9a7d01810a393d5d25a3621dc101981175
Server:
  Version:  v1.3.7
  Revision: 8fba4e9a7d01810a393d5d25a3621dc101981175
  UUID: 339017b3-570e-43bd-a528-4a08123868ca
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
NAME           STATUS   ROLES    AGE   VERSION
myuser         Ready    <none>   33m   v1.18.9-eks-1-18-1
eks kubectl get services
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.152.183.1   <none>        443/TCP   33m
Recommended
kubectl get nodes
NAME           STATUS   ROLES    AGE   VERSION
myuser         Ready    <none>   33m   v1.18.9-eks-1-18-1
kubectl get services
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.152.183.1   <none>        443/TCP   33m
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
deployment.apps/nginx created
kubectl get pods
NAME                    READY   STATUS    RESTARTS   AGE
nginx-f89759699-2w75l   1/1     Running   0          33s
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
Stopped.
sudo eks start
Started.
Basic information of your Kubernetes cluster
Server/Client version
kubectl version --short=true
Client Version: v1.19.4
Server Version: v1.18.9-1+c787d4d0c397b8
Cluster information
kubectl cluster-info
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
Configuration information
kubectl config view
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
Note: To view the access token, use the "--flatten=true" option.
View the nodes
kubectl get nodes -w
NAME           STATUS   ROLES    AGE   VERSION
myuser         Ready    <none>   33h   v1.18.9-eks-1-18-1
Information about a particular node
kubectl describe node myuser
              
    
Top comments (0)