Kubeadm搭建高可用K8S(四)Dashboard安装配置

Linux教程:如何使用kubeadm从头到尾搭建k8s单节点服务并部署dashboard Linux教程:如何使用kubeadm从头到尾搭建k8s单机服务并部署dashboard 阅读详情
安装
# 1.先将镜像文件上传到两个worker节点,然后解压
docker load -i dashboard_2_0_0.tar.gz
docker load -i metrics-scrapter-1-0-1.tar.gz
# 2.将kubernetes-dashboard.yaml上传到master节点
kubectl apply -f kubernetes-dashboard.yaml
# 3.yaml配置将dashboard安装在了kubernetes-dashboard命名空间下
kubectl get pods -n kubernetes-dashboard
# 4.查看网络配置
kubectl get svc -n kubernetes-dashboard
# 显示如下Running即可
      NAME                     READY  STATUS   RESTARTS    AGE
dashboard-metrics-scraper-xxx   1/1   Running     0        7m14s
kubernetes-dashboard-xxx        1/1   Running     0        6m55s
# 5.修改 service type 类型变成 NodePort
kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
# 把 type: ClusterIP 变成 type: NodePort,保存退出即可。

kubectl get svc -n kubernetes-dashboard
# 显示如下:NodePort中30940即为访问端口
NAME            TYPE    CLUSTER-IP      EXTERNAL-IP    PORT(S)        AGE
dashboard-xx   ClusterIP  10.10.182.138   <none>       8000/TCP       25m
kubernetes-xx  NodePort  10.10.101.23     <none>     443:30940/TCP    25m

注意:初始化时候,UI界面访问使用的是HTTPS,且谷歌浏览器访问不了

Token登录
# 创建管理员 token,具有查看任何空间的权限,可以管理所有资源对象
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard

# 查看 kubernetes-dashboard 名称空间下的 secret
kubectl get secret -n kubernetes-dashboard

# 找到对应带Token的选项
kubectl describe secret kubernetes-dashboard-token-xxx -n kubernetes-dashboard

# 保存Token,将Token粘贴到UI界面即可登录
Config登录
cd /etc/kubernetes/pki
# 【1】创建 cluster 集群
kubectl config set-cluster kubernetes --certificate-authority=./ca.crt --server="https://192.168.74.10:6443" --embed-certs=true --kubeconfig=/root/dashboard-admin.conf
# 查看如下:
cat /root/dashboard-admin.conf
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1USXlOVEExTWpBME1Wb1hEVE14TVRJeU16QTFNakEwTVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTDcvCmpVRE03dHh6aUtGMDV2SmExa3BGNmlOQWZIQWprZHpnVFdML3lwUys5OUNlUERNd3prbXljY2hsVStXS1dsbzcKakZqb1U2RXQrVzE4TUpWSjI2bEQ3RjhHWkhFdEtDU0JpSk1RazFkV1VTdndZUTRCWlQxK0U0aHNJN0p4OTJIdAo3TXdhaW9jSXBBb3J0aDJCZ1RsTG9wWlFFRU5vNUt6WVVJK1AxSitta0MrdkhvVUM4aklWK2wrWEZkVDhubzZvClNtNlM5WWdvemFLYXRsWXA4OEMrSFc2ZVhmZmRQRDRHWlhZamw1bjBJeFlWc2lic0dMK3JkNXc3aGJsR3dueXYKMEdjL0I0U2F4a3VMdTBnYmQ2M1Q1K2hQa2FRdnpUQnJPdW8yWk5IcVZhWW9uakpRaGI2MWdCdjFsWmt3dVpvVgpsWERjdkZUVnN1UVkyWlJ1SjZzQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZEM3VXVjhNbzN1RkFYQzFxaGdKTHNnRU8vMEZNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDUHI3RmY3OG1RdGQyQ0pvSGN5MHp0L3RuUXUzakJxRE1yY2dnWU00S3VmTG9hd2FZZwp1WFlKR3VONmRjZVlGM0RiazJUUDQ3Q01QNS8rQ0xTQVRtcHdtSnArWE1qV04yVlAxZWdXNnF0Q0ZMZzNjZFJ2CmtYTlJleDJxbzFnK0todlUwRUwybXRiTk1xWFdqcUVvaDZlUE8rYmNGQ3Y5SXZJRWlEMVovOEowMzYyVHhtNzAKY3lBdDZGZnJXcFZ4Uk03Y09aL0xQQzR1TlV3L2V6dGpvUG9KOUJ5emcxdUVmeCszK01mNW1UNk0weXcvTTRtbgpwMjhQbE9QYWpseWtMaUVObktqSzFoNkwwVkl2cktISkVuQU56bGNqZU1xNkx2WDMvWm5sWHFHbUlXQ1VuV2wwCjllcUNiUFNLaHBIQ0FBZzdxdUF0ZmpMYk9ac0g3SXYvMGU4TgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    server: https://192.168.74.10:6443
  name: kubernetes
contexts: null
current-context: ""
kind: Config
preferences: {}
users: null
# 【2】创建 credentials
# 创建 credentials 需要使用上面的 kubernetes-dashboard-token-xxxx 对应的 token 信息
DEF_NS_ADMIN_TOKEN=$(kubectl get secret kubernetes-dashboard-token-m6cl6 -n kubernetes-dashboard -o jsonpath={.data.token}|base64 -d)

kubectl config set-credentials dashboard-admin --token=$DEF_NS_ADMIN_TOKEN --kubeconfig=/root/dashboard-admin.conf

# 再次查看如下:其中可见dashboard-admin用户的Token与Token登录时候的一致
cat /root/dashboard-admin.conf
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1USXlOVEExTWpBME1Wb1hEVE14TVRJeU16QTFNakEwTVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTDcvCmpVRE03dHh6aUtGMDV2SmExa3BGNmlOQWZIQWprZHpnVFdML3lwUys5OUNlUERNd3prbXljY2hsVStXS1dsbzcKakZqb1U2RXQrVzE4TUpWSjI2bEQ3RjhHWkhFdEtDU0JpSk1RazFkV1VTdndZUTRCWlQxK0U0aHNJN0p4OTJIdAo3TXdhaW9jSXBBb3J0aDJCZ1RsTG9wWlFFRU5vNUt6WVVJK1AxSitta0MrdkhvVUM4aklWK2wrWEZkVDhubzZvClNtNlM5WWdvemFLYXRsWXA4OEMrSFc2ZVhmZmRQRDRHWlhZamw1bjBJeFlWc2lic0dMK3JkNXc3aGJsR3dueXYKMEdjL0I0U2F4a3VMdTBnYmQ2M1Q1K2hQa2FRdnpUQnJPdW8yWk5IcVZhWW9uakpRaGI2MWdCdjFsWmt3dVpvVgpsWERjdkZUVnN1UVkyWlJ1SjZzQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZEM3VXVjhNbzN1RkFYQzFxaGdKTHNnRU8vMEZNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDUHI3RmY3OG1RdGQyQ0pvSGN5MHp0L3RuUXUzakJxRE1yY2dnWU00S3VmTG9hd2FZZwp1WFlKR3VONmRjZVlGM0RiazJUUDQ3Q01QNS8rQ0xTQVRtcHdtSnArWE1qV04yVlAxZWdXNnF0Q0ZMZzNjZFJ2CmtYTlJleDJxbzFnK0todlUwRUwybXRiTk1xWFdqcUVvaDZlUE8rYmNGQ3Y5SXZJRWlEMVovOEowMzYyVHhtNzAKY3lBdDZGZnJXcFZ4Uk03Y09aL0xQQzR1TlV3L2V6dGpvUG9KOUJ5emcxdUVmeCszK01mNW1UNk0weXcvTTRtbgpwMjhQbE9QYWpseWtMaUVObktqSzFoNkwwVkl2cktISkVuQU56bGNqZU1xNkx2WDMvWm5sWHFHbUlXQ1VuV2wwCjllcUNiUFNLaHBIQ0FBZzdxdUF0ZmpMYk9ac0g3SXYvMGU4TgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    server: https://192.168.74.10:6443
  name: kubernetes
contexts: null
current-context: ""
kind: Config
preferences: {}
users:
- name: dashboard-admin
  user:
    token: eyJhbGciOiJSUzI1NiIsImtpZCI6InlDZXRZWVR4R2pxaVVCcDRSSWFOVTBwYjRIcDRtcmtYOElaQ0VmTkRrazQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi1tNmNsNiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjhmYTJhZjk2LWZhNmYtNGI5YS05OTNmLTk1NjU1NDU3Mzk3OSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.npxvSmb7IZjlaler9-De-fm8gCckvBNGSbge6nJ7UYGIW4NKPC_rQyK_MkTMtNJ4pp_9QTZ45oy_ZKb27qoIEh3Qsy4gRr-eWSXWE3878MsfwXu0NhnjSs-qrlD5ewG-tVRqzX1S-0rj10A0C2G7yIpcW_pqm278eoIwofmIQonBZFs7rNsIGiJjjKCVXRhbNIeRqbSnK7ucCBoDb-K5XhZMsZGDul44SZ9ZOatx4rqLxjZqt5sMLDeSKjm8rAbrdURfWKgIa082vrrcvMYglKeRG9TpORsGefeZoxu_mhQGLRtd0QibNtjcoqrfHcd8KF3o2PUZh32Fqm5mrJacHQ
# 【3】创建 context
kubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/root/dashboard-admin.conf

# 再次查看如下:其中可见contexts下面多了些内容
cat /root/dashboard-admin.conf
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1USXlOVEExTWpBME1Wb1hEVE14TVRJeU16QTFNakEwTVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTDcvCmpVRE03dHh6aUtGMDV2SmExa3BGNmlOQWZIQWprZHpnVFdML3lwUys5OUNlUERNd3prbXljY2hsVStXS1dsbzcKakZqb1U2RXQrVzE4TUpWSjI2bEQ3RjhHWkhFdEtDU0JpSk1RazFkV1VTdndZUTRCWlQxK0U0aHNJN0p4OTJIdAo3TXdhaW9jSXBBb3J0aDJCZ1RsTG9wWlFFRU5vNUt6WVVJK1AxSitta0MrdkhvVUM4aklWK2wrWEZkVDhubzZvClNtNlM5WWdvemFLYXRsWXA4OEMrSFc2ZVhmZmRQRDRHWlhZamw1bjBJeFlWc2lic0dMK3JkNXc3aGJsR3dueXYKMEdjL0I0U2F4a3VMdTBnYmQ2M1Q1K2hQa2FRdnpUQnJPdW8yWk5IcVZhWW9uakpRaGI2MWdCdjFsWmt3dVpvVgpsWERjdkZUVnN1UVkyWlJ1SjZzQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZEM3VXVjhNbzN1RkFYQzFxaGdKTHNnRU8vMEZNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDUHI3RmY3OG1RdGQyQ0pvSGN5MHp0L3RuUXUzakJxRE1yY2dnWU00S3VmTG9hd2FZZwp1WFlKR3VONmRjZVlGM0RiazJUUDQ3Q01QNS8rQ0xTQVRtcHdtSnArWE1qV04yVlAxZWdXNnF0Q0ZMZzNjZFJ2CmtYTlJleDJxbzFnK0todlUwRUwybXRiTk1xWFdqcUVvaDZlUE8rYmNGQ3Y5SXZJRWlEMVovOEowMzYyVHhtNzAKY3lBdDZGZnJXcFZ4Uk03Y09aL0xQQzR1TlV3L2V6dGpvUG9KOUJ5emcxdUVmeCszK01mNW1UNk0weXcvTTRtbgpwMjhQbE9QYWpseWtMaUVObktqSzFoNkwwVkl2cktISkVuQU56bGNqZU1xNkx2WDMvWm5sWHFHbUlXQ1VuV2wwCjllcUNiUFNLaHBIQ0FBZzdxdUF0ZmpMYk9ac0g3SXYvMGU4TgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    server: https://192.168.74.10:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: dashboard-admin
  name: dashboard-admin@kubernetes
current-context: ""
kind: Config
preferences: {}
users:
- name: dashboard-admin
  user:
    token: eyJhbGciOiJSUzI1NiIsImtpZCI6InlDZXRZWVR4R2pxaVVCcDRSSWFOVTBwYjRIcDRtcmtYOElaQ0VmTkRrazQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi1tNmNsNiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjhmYTJhZjk2LWZhNmYtNGI5YS05OTNmLTk1NjU1NDU3Mzk3OSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.npxvSmb7IZjlaler9-De-fm8gCckvBNGSbge6nJ7UYGIW4NKPC_rQyK_MkTMtNJ4pp_9QTZ45oy_ZKb27qoIEh3Qsy4gRr-eWSXWE3878MsfwXu0NhnjSs-qrlD5ewG-tVRqzX1S-0rj10A0C2G7yIpcW_pqm278eoIwofmIQonBZFs7rNsIGiJjjKCVXRhbNIeRqbSnK7ucCBoDb-K5XhZMsZGDul44SZ9ZOatx4rqLxjZqt5sMLDeSKjm8rAbrdURfWKgIa082vrrcvMYglKeRG9TpORsGefeZoxu_mhQGLRtd0QibNtjcoqrfHcd8KF3o2PUZh32Fqm5mrJacHQ
# 【4】切换 context 的 current-context 是 dashboard-admin@kubernetes
kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/root/dashboard-admin.conf

# 再次查看如下:其中可见current-context有值了
cat /root/dashboard-admin.conf
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1USXlOVEExTWpBME1Wb1hEVE14TVRJeU16QTFNakEwTVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTDcvCmpVRE03dHh6aUtGMDV2SmExa3BGNmlOQWZIQWprZHpnVFdML3lwUys5OUNlUERNd3prbXljY2hsVStXS1dsbzcKakZqb1U2RXQrVzE4TUpWSjI2bEQ3RjhHWkhFdEtDU0JpSk1RazFkV1VTdndZUTRCWlQxK0U0aHNJN0p4OTJIdAo3TXdhaW9jSXBBb3J0aDJCZ1RsTG9wWlFFRU5vNUt6WVVJK1AxSitta0MrdkhvVUM4aklWK2wrWEZkVDhubzZvClNtNlM5WWdvemFLYXRsWXA4OEMrSFc2ZVhmZmRQRDRHWlhZamw1bjBJeFlWc2lic0dMK3JkNXc3aGJsR3dueXYKMEdjL0I0U2F4a3VMdTBnYmQ2M1Q1K2hQa2FRdnpUQnJPdW8yWk5IcVZhWW9uakpRaGI2MWdCdjFsWmt3dVpvVgpsWERjdkZUVnN1UVkyWlJ1SjZzQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZEM3VXVjhNbzN1RkFYQzFxaGdKTHNnRU8vMEZNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDUHI3RmY3OG1RdGQyQ0pvSGN5MHp0L3RuUXUzakJxRE1yY2dnWU00S3VmTG9hd2FZZwp1WFlKR3VONmRjZVlGM0RiazJUUDQ3Q01QNS8rQ0xTQVRtcHdtSnArWE1qV04yVlAxZWdXNnF0Q0ZMZzNjZFJ2CmtYTlJleDJxbzFnK0todlUwRUwybXRiTk1xWFdqcUVvaDZlUE8rYmNGQ3Y5SXZJRWlEMVovOEowMzYyVHhtNzAKY3lBdDZGZnJXcFZ4Uk03Y09aL0xQQzR1TlV3L2V6dGpvUG9KOUJ5emcxdUVmeCszK01mNW1UNk0weXcvTTRtbgpwMjhQbE9QYWpseWtMaUVObktqSzFoNkwwVkl2cktISkVuQU56bGNqZU1xNkx2WDMvWm5sWHFHbUlXQ1VuV2wwCjllcUNiUFNLaHBIQ0FBZzdxdUF0ZmpMYk9ac0g3SXYvMGU4TgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    server: https://192.168.74.10:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: dashboard-admin
  name: dashboard-admin@kubernetes
current-context: dashboard-admin@kubernetes
kind: Config
preferences: {}
users:
- name: dashboard-admin
  user:
    token: eyJhbGciOiJSUzI1NiIsImtpZCI6InlDZXRZWVR4R2pxaVVCcDRSSWFOVTBwYjRIcDRtcmtYOElaQ0VmTkRrazQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi1tNmNsNiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjhmYTJhZjk2LWZhNmYtNGI5YS05OTNmLTk1NjU1NDU3Mzk3OSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.npxvSmb7IZjlaler9-De-fm8gCckvBNGSbge6nJ7UYGIW4NKPC_rQyK_MkTMtNJ4pp_9QTZ45oy_ZKb27qoIEh3Qsy4gRr-eWSXWE3878MsfwXu0NhnjSs-qrlD5ewG-tVRqzX1S-0rj10A0C2G7yIpcW_pqm278eoIwofmIQonBZFs7rNsIGiJjjKCVXRhbNIeRqbSnK7ucCBoDb-K5XhZMsZGDul44SZ9ZOatx4rqLxjZqt5sMLDeSKjm8rAbrdURfWKgIa082vrrcvMYglKeRG9TpORsGefeZoxu_mhQGLRtd0QibNtjcoqrfHcd8KF3o2PUZh32Fqm5mrJacHQ
# 将文件导出,在UI上使用config登录
sz dashboard-admin.conf
UI创建Pod

通过Nginx示例,上传镜像到两个worker节点,并解压

UI界面上:右上角加号 -->> create from form -->>填写完毕,点击Deploy -->> 等待启动

–>> 点击左侧 Service菜单,查看映射端口 -->>浏览器打开验证

应用名称:nginx 
容器镜像:nginx 
pod 数量:2 
service: external 外部网络 
port:80                       #集群内的 pod 互相通信用的端口类型
targetport:80                 #目标端口,也就是最终端口,也就是 pod 的端口
nodeport                       #是集群外流量访问集群内服务的端口

有时候,自动映射外部访问端口失败,手工修改

kubectl get svc -n <namespace>
kubectl edit svc <service-name> -n <namespace>
# 将ClusterIP修改为NodePort

配置谷歌浏览器打开Dashboard页面

mkdir key && cd key
#生成证书
openssl genrsa -out dashboard.key 2048 
openssl req -new -out dashboard.csr -key dashboard.key -subj '/CN=192.168.246.200'
openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt 
#删除原有的证书secret
kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard
#创建新的证书secret
kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kubernetes-dashboard
#查看pod
kubectl get pod -n kubernetes-dashboard
#重启pod
kubectl delete pod <pod name> -n kubernetes-dashboard

K8s环境搭建(kubeadm安装)、nginx部署及dashboard部署 K8s环境搭建 阅读详情

相关推荐

K8S(Kubernetes)简介和官方安装部署保姆级详细教程

Kubernetes简称为K8s,是用于自动部署、扩缩和管理容器化应用程序的开源系统,起源于Google 集群管理工具Borg。

BlogPan的专栏 4万+

『Kubernetes』在k8s中部署Dashboard可视化面板

📣读完这篇文章里你能收获到:保姆级的K8S安装Dashboard,视化管理Kubernetes

老陈聊架构 2954

(一)k8s------kubeadm方式安装 , init流程,master高可用,dashboard, k8s升级,kubeadm命令

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。最新整理面试题上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题最新整理电子书最新整理大厂面试文档以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取然后将这个文件下载到桌面。

2401_84692405的博客 1486

K8S安装dashboard、kuboard

dashboard kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard type: ClusterIP 改为 type: NodePort kubectl get svc -A |grep kubernetes-dash

qq_41835813的博客 737

使用kubeadm部署高可用的k8s集群

使用kubeadm部署k8s高可用集群 部署k8s集群方式有很多种,包括二进制文件部署,kubespray,rancher,kubeadm等等。 纯粹的二进制文件部署非常复杂和麻烦,而使用良好的工具来达到“偷懒”的目的是我们程序员的天性,因此自动化部署工具才是我们的首选。 关于部署工具的选用逻辑也很简单,kubeadm是官方提供和推荐的,因此可以认为kubeadm是可用而且可靠的,文档也足够全面,...

momoudong的博客 5554

【kubernetes】集群的 kubeadm 安装及 部署 harbor 仓库

本文将详细介绍如何使用kubeadm工具来安装和配置Kubernetes集群,帮助快速上手并开始使用Kubernetes进行容器编排和管理,希望对你有帮助!

十七拾的博客 1685

Kubernetes(k8s)安装以及搭建k8s-Dashboard详解

一、前期准备 1)前提条件 三台兼容的 Linux 主机。Kubernetes 项目为基于 Debian 和 Red Hat 的 - - Linux 发行版以及一些不提供包管理器的发行版提供通用的指令 每台机器 2 GB 或更多的 RAM (如果少于这个数字将会影响你应用的运行内存) 2 CPU 核或更多 集群中的所有机器的网络彼此均能相互连接(公网和内网都可以) 节点之中不可以有重复的主机名、MAC 地址或 product_uuid。 开启机器上的某些端口。 禁用交换分区。为了保证 kubelet 正常

匠人精神,持之以恒! 4682

kubeadm配置k8s-1.13高可用集群(master高可用haproxy&keepalive)+kubernetes-dashboard+监控prometheus&grafana

参考:https://blog.youkuaiyun.com/chenleiking/article/details/84841394 本文使用六台虚拟机,配置含有三个master的k8s集群并实现master之间的高可用,本文所说Master节点是指K8s集群中的master角色节点,Node节点是指集群中的worker角色节点,所有节点全程采用root用户操作。 一、版本信息、环境准备、节点规划、镜像信...

zhangwenjiang001的博客 9071

Kubeadm搭建k8s

kubectl需经由API server认证及授权后方能执行相应的管理操作,kubeadm 部署的集群为其生成了一个具有管理员权限的认证配置文件 /etc/kubernetes/admin.conf,它可由 kubectl 通过默认的 “$HOME/.kube/config” 的路径进行加载。上传 harbor-offline-installer-v1.2.2.tgz 和 docker-compose 文件到 /opt 目录。所有节点上传flannel镜像 flannel.tar 到 /opt 目录,

YCyjs的博客 1998

kubeadm 工具实验 k8s一键安装

​​​​​​​。

wyq2070857323的博客 1156

k8s搭建(五、k8s可视化管理工具Dashboard配置)

每个人都有惰性,但不断学习是好好生活的根本,共勉!

感谢阅读 2565

Kubernetes K8S 基于 Docker 安装部署

在 Docker 容器技术被炒得热火朝天之时,大家发现,如果想要将 Docker 应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。于是,人们迫切需要一套管理系统,对 Docker 及容器进行更高级更灵活的管理。就在这个时候,K8S 出现了。K8S,就是基于容器的集群管理平台,它的全称,是 Kubernetes。 本次主题将会为你分享: K8S 起源 K8S 集群 为什...

GitChat 1万+

深入解析“PROJ: proj_create_from_database: Cannot find proj.db”错误:从环境配置到打包实战

本文深入解析了“PROJ: proj_create_from_database: Cannot find proj.db”错误的根源与解决方案,涵盖环境配置、PyInstaller打包及跨平台兼容性处理。通过详细分析PROJ库路径问题及GDAL依赖关系,提供动态路径设置、资源文件打包等实战技巧,帮助开发者高效解决地理数据处理中的常见错误。

weixin_29074409的博客 444

Kubernetes - CentOS7搭建k8s_v1.18集群高可用(kubeadm/二进制包部署方式)实测配置验证手册

Kubernetes 这个名字源于希腊语,意为“舵手“或”飞行员"。 Kubernetes,简称K8s,中间有8个字符用8代替缩写。 Google于2014年开源项目,为容器化应用提供集群和管理的开源工具,Kubernetes目标是让部署容器化的应用简单并且高效,提供了应用部署,规划,更新,维护的一种机制。传统的应用部署方式是通过插件或脚本来安装应用。

物似人非 情有何堪 2048

VLA-JEPA:具身智能中潜空间世界模型的工程落地实践

世界模型是具身智能实现环境理解与因果推演的核心基础,其本质是在状态空间中建模‘动作→结果’的动力学规律。传统基于像素或文本的世界模型因高维、非平稳、弱语义等缺陷,在真实机器人场景中鲁棒性差、部署成本高。JEPA(联合嵌入预测架构)通过构建物理约束的潜空间,将视觉-语言-动作(VLA)信号统一编码为低维、可微、可解释的状态表征,显著提升模型对抖动、遮挡、光照突变等干扰的适应能力,并支持实时闭环控制。该范式已在UR5e、Franka等多构型机械臂及Jetson边缘平台完成实测验证,成为VLA系统从实验室走向产线

weixin_34357928的博客 336

Ubuntu 24.04 搭建 Squid 代理服务器终极指南:从入门到 HTTPS 缓存AI模型

本文详细指导在Ubuntu 24.04系统部署Squid代理服务器,实现AI大模型文件的高效缓存。重点内容包括:1) 安装squid及必备的squid-openssl扩展包;2) 配置HTTPS拦截(SSL-Bumping)功能,创建CA证书和SSL数据库;3) 优化缓存策略,设置4TB存储空间并强制缓存常见大文件格式;4) 结合华为防火墙实现透明代理。文章特别强调实际部署中的关键注意事项和常见错误解决方案,如证书路径配置、权限设置等问题,帮助用户快速搭建企业级缓存代理服务。

zlt315的博客 1920

【云原生 | Kubernetes 实战】01、K8s-v1.25集群搭建和部署基于网页的 K8s 用户界面 Dashboard

万字详细部署k8s-v1.25高可用集群步骤!!!

GG Bond 的博客 5651

数字信号的艺术演绎:用FPGA+DAC实现音乐合成器的核心原理

本文深入探讨了如何利用FPGA和DAC技术实现数字音乐合成器的核心原理,涵盖DDS架构、多波形合成、MIDI协议解析及动态包络控制等关键技术。通过详细的Verilog代码示例和硬件实现方案,展示了数字信号处理在音乐合成中的艺术演绎,为电子音乐创作提供了强大的硬件支持。

weixin_28256233的博客 389

kubeadm部署 Kubernetes(k8s) 高可用集群【V1.28 】

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。

srebro.cn | 运维小弟 3617

操作不能完成 (错误 0x00000709) 共享打印机无法连接解决办法

环境:windows Server 2012 + Win10 客户端 问题:使用计算机名和IP地址可以正常连接打印机,但是使用另外的A记录或CN记录无法连接,报此错误 原因:这是打印服务DNS解析的问题 故障补充:假设你的服务器电脑名称叫print01,但是你又建了一条A记录或者CNname 叫PR01,就会发现使用额外的A记录或CN记录就无法连接 故障截图: 操作不能完成 (错误...

瑞哥的博客 3万+

10.28华为OD机试真题 新系统 - AI推理任务并行额度最大值 (Java/Py/C/C++/Js/Go)

10.28华为OD机试真题 新系统 - AI推理任务并行额度最大值 (Java/Py/C/C++/Js/Go)

算法大师! 268

【Kubernetes部署】通过Kubeadm部署Kubernetes高可用集群

Kubeadm部署k8s高可用集群

这是博客的简介的简介 2194

Agent 智能体学习指南:从入门到求职的完整路线

AI Agent 不是更长的 prompt,而是一类系统设计——模型在受控环境里观察状态、选择动作、调用工具、接收反馈。本文系统梳理 Agent 的 5 个核心概念、7 个关键模块(Goal/State/Context/Tools/Loop/Guardrails/Eval)、三条学习路线(工程落地/研究算法/求职作品)、框架选型策略(LangGraph/OpenAI Agents SDK/Pydantic AI 等场景推荐),以及可执行的 7 天最小项目计划(从概念到简历 bullet)。

program哲学 229

Kubernetes学习-K8S安装篇-Kubeadm安装高可用K8S集群

Kubernetes学习-K8S安装篇-Kubeadm高可用安装K8S集群1. Kubernetes 高可用安装1.1 kubeadm高可用安装k8s集群1.23.11.1.1 基本环境配置1.1.2 内核配置1.1.3 基本组件安装1.1.4 高可用组件安装1.1.5 Calico组件的安装1.1.6 高可用Master1.1.7 Node节点的配置创建管理员用户vim admin.yaml apiVersion: v1 kind: ServiceAccount metadata: na

苦难带不走梦想 4653

基于Pascal VOC数据集的YOLOv8目标检测系统实现:人、鸟、猫、牛、电视、车等20类目标识别与UI界面部署全流程详解

VOC 2007、VOC 2012 两个主要版本;每个图像提供 bounding box(目标框)+ 目标类别;共计 20 类,所有图像手工标注,质量高。完整复现 Pascal VOC 20类检测任务成功训练 YOLOv8 模型实现可视化 UI + 实时检测系统支持多平台部署和演示。

YOLO 771

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Kubernetes详细配置安装说明(保姆级篇高效)

本文提供一份详细的Kubernetes(k8s)集群搭建教程,使用kubeadm工具在两台RockyLinux/CentOS主机上从零部署完整集群。教程涵盖环境初始化(主机名配置、依赖安装、防火墙设置等)、服务安装(Docker+kubeadm组件)、集群搭建(Master初始化+Node加入)、网络插件(Flannel)部署、性能优化(IPVS模式切换)、故障排查方案以及Dashboard可视化界面部署。每个步骤均标注执行节点,关键参数附带说明,并提供常见错误解决方案,适合初学者按步骤完成集群搭建。

Chris 6758

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: Kubeadm搭建高可用K8S(三)搭建worker节点和网络插件
下一篇: 字节流和字符流读写文件示例
AlgebraFly
博客等级 码龄9年 260粉丝 21原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlgebraFly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值