It is understood that you already have a successfully created kubernetes cluster. If you are having issues follow instructions from Create Your own Kubernetes cluster on AWS
Ensure the Cluster is up and Running
We have the cluster operational; Validate the cluster as mentioned in the previous article. Once all the nodes and master are up and running we can also test this internally with kubectl
ubuntu@ip-10-0-1-79:~$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
ip-172-20-35-205.eu-west-1.compute.internal Ready master 5h42m v1.18.2
ip-172-20-53-48.eu-west-1.compute.internal Ready node 5h41m v1.18.2
ip-172-20-67-18.eu-west-1.compute.internal Ready node 5h41m v1.18.2
ip-172-20-97-65.eu-west-1.compute.internal Ready node 5h40m v1.18.2
This ensures the master and node are all ready and it also displays the version of Kubernetes in each of the nodes
Create the dashboard components
We need to create the dashboard components. Again, there are multiple places where I found multiple leads. This works with clusters created using kops on AWS.
ubuntu@ip-10-0-1-79:~$ kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/kubernetes-metrics-scraper created
We have now successfully created the kuberneter-dashboard and the service is implemented. The following steps help us browse the dashboard
To browse the dashboard we need to perform the following actions
- Create a service account
ubuntu@ip-10-0-1-79:~$ kubectl create serviceaccount dashboard-admin-sa serviceaccount/dashboard-admin-sa created
- Bind the account created to the cluster-admin role
ubuntu@ip-10-0-1-79:~$ kubectl create clusterrolebinding dashboard-admin-sa --clusterrole=cluster-admin --serviceaccount=default:dashboard-admin-sa clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin-sa created
- Find the url how your cluster can be invoked
ubuntu@ip-10-0-1-79:~$ kubectl cluster-info Kubernetes master is running at https://api-k8-shivag-io-covt8s-**********.eu-west-1.elb.amazonaws.com KubeDNS is running at https://api-k8-shivag-io-covt8s-**********.eu-west-1.elb.amazonaws.com/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
- Find the Kubernetes cluster password
ubuntu@ip-10-0-1-79:~$ kops get secrets kube --type secret -oplaintext --name k8.shivag.io --state s3://k8-kops-cluster-state-s3 FURT*****YPyC*****S6w4*****GPVfd
- Find the dashboard-admin-sa user token
ubuntu@ip-10-0-1-79:~$ kubectl get secret $(kubectl get serviceaccount dashboard-admin-sa -o jsonpath="{.secrets[0].name}") -o jsonpath="{.data.token}" | base64 --decode eyJhb**********1NiIs**********VETHQ**********FVZWH**********cUhjW**********LdGp0**********.eyJp**********Jlcm5**********nZpY2**********Iiwia**********lcy5p**********NlYWN**********W1lc3**********ZWZhd**********iZXJu**********zZXJ2**********VudC9**********eyJhb**********1NiIs**********VETHQ**********FVZWH**********cUhjW**********LdGp0**********.eyJp**********Jlcm5**********nZpY2**********Iiwia**********lcy5p**********NlYWN**********W1lc3**********ZWZhd**********iZXJu**********zZXJ2**********VudC9**********eyJhb**********1NiIs**********VETHQ**********FVZWH**********cUhjW**********LdGp0**********.eyJp**********Jlcm5**********nZpY2**********Iiwia**********lcy5p**********NlYWN**********W1lc3**********ZWZhd**********iZXJu**********zZXJ2**********VudC9**********eyJhb**********1NiIs**********VETHQ**********FVZWH**********cUhjW**********LdGp0**********.eyJp**********Jlcm5**********nZpY2**********Iiwia**********lcy5p**********NlYWN********
- The link for the dashboard when installed locally is
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
substitute the http://localhost:8001 with the cluster urlhttps://api-k8-shivag-io-covt8s-1234567890.eu-west-1.elb.amazonaws.com
the final url ishttps://api-k8-shivag-io-covt8s-1234567890.eu-west-1.elb.amazonaws.com//api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
- First for the kubernetes cluster where the user is "admin" -> password from Step 4
- Next the token -> Token from Step 5
No comments:
Post a Comment