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)