1. [root@alice001 traefik]# docker pull k8scn/kubernetes-dashboard-amd64:v1.8.3
    2. v1.8.3: Pulling from k8scn/kubernetes-dashboard-amd64
    3. a4026007c47e: Pull complete
    4. Digest: sha256:ebc993303f8a42c301592639770bd1944d80c88be8036e2d4d0aa116148264ff
    5. Status: Downloaded newer image for k8scn/kubernetes-dashboard-amd64:v1.8.3
    6. [root@alice001 traefik]# docker tag k8scn/kubernetes-dashboard-amd64:v1.8.3 harbor.od.com/public/dashboard:v1.8.3
    7. [root@alice001 traefik]# docker push !$
    8. docker push harbor.od.com/public/dashboard:v1.8.3
    9. The push refers to repository [harbor.od.com/public/dashboard]
    10. 23ddb8cbb75a: Pushed
    11. v1.8.3: digest: sha256:ebc993303f8a42c301592639770bd1944d80c88be8036e2d4d0aa116148264ff size: 529
    12. [root@alice001 traefik]# mkdir -p /data/k8s-yaml/dashboard && cd /data/k8s-yaml/dashboard
    13. [root@alice001 dashboard]# ll
    14. total 16
    15. -rw-r--r-- 1 root root 1427 Feb 20 19:11 deployment.yaml
    16. -rw-r--r-- 1 root root 347 Feb 20 16:23 ingress.yaml
    17. -rw-r--r-- 1 root root 610 Feb 20 18:23 rbac.yaml
    18. -rw-r--r-- 1 root root 322 Feb 20 16:22 svc.yaml
    19. [root@alice001 dashboard]# vim /var/named/od.com.zone
    20. [root@alice001 dashboard]# cat /var/named/od.com.zone
    21. $ORIGIN od.com.
    22. $TTL 600 ; 10 minutes
    23. @ IN SOA dns.od.com. dnsadmin.od.com. (
    24. 2021012909 ; serial
    25. 10800 ; refresh (3 hours)
    26. 900 ; retry (15 minutes)
    27. 604800 ; expire (1 week)
    28. 86400 ; minimum (1 day)
    29. )
    30. NS dns.od.com.
    31. $TTL 60 ; 1 minute
    32. dns A 47.243.20.250
    33. harbor A 172.23.187.175
    34. k8s-yaml A 47.243.20.250
    35. traefik A 47.243.20.250
    36. dashboard A 47.243.20.250
    37. [root@alice001 dashboard]# systemctl restart named
    38. [root@alice001 dashboard]# dig -t A dashboard.od.com @172.23.187.175 +short
    39. 47.243.20.250
    40. [root@alice001 dashboard]# cd /opt/certs/
    41. [root@alice001 certs]# openssl req -new -key dashboard.od.com.key -out dashboard.od.com.csr -subj "/CN=dashboard.od.com/C=CN/ST=BJ/L=Beijing/O=Oldb
    42. [root@alice001 certs]# openssl x509 -req -in dashboard.od.com.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out dashboard.od.com.crt -days 3650
    43. Signature ok
    44. subject=/CN=dashboard.od.com/C=CN/ST=BJ/L=Beijing/O=OldboyEdu/OU=ops
    45. Getting CA Private Key
    46. [root@alice001 certs]# ll dashboard.od.com.*
    47. -rw-r--r-- 1 root root 1196 Feb 20 18:53 dashboard.od.com.crt
    48. -rw-r--r-- 1 root root 1005 Feb 20 18:53 dashboard.od.com.csr
    49. -rw------- 1 root root 1679 Feb 20 18:53 dashboard.od.com.key
    50. [root@alice001 certs]# cd /etc/nginx/
    51. [root@alice001 nginx]# mkdir certs
    52. [root@alice001 nginx]# cd certs/
    53. [root@alice001 certs]# ls
    54. [root@alice001 certs]# cp /opt/certs/dashboard.od.com.key .
    55. [root@alice001 certs]# cp /opt/certs/dashboard.od.com.crt .
    56. [root@alice001 certs]# ll
    57. total 8
    58. -rw-r--r-- 1 root root 1196 Feb 20 18:57 dashboard.od.com.crt
    59. -rw------- 1 root root 1679 Feb 20 18:57 dashboard.od.com.key
    60. [root@alice001 certs]# vim /etc/nginx/conf.d/dashborad.conf
    61. [root@alice001 dashboard]# cat /etc/nginx/conf.d/dashborad.conf
    62. server {
    63. listen 80;
    64. server_name dashboard.od.com dashboard.grep.pro;
    65. rewrite ^(.*)$ https://${server_name}$1 permanent;
    66. }
    67. server {
    68. listen 443 ssl;
    69. server_name dashboard.od.com dashboard.grep.pro;
    70. ssl_certificate "certs/dashboard.od.com.crt";
    71. ssl_certificate_key "certs/dashboard.od.com.key";
    72. ssl_session_cache shared:SSL:1m;
    73. ssl_session_timeout 10m;
    74. ssl_ciphers HIGH:!aNULL:!MD5;
    75. ssl_prefer_server_ciphers on;
    76. location / {
    77. proxy_pass http://default_backend_traefik;
    78. proxy_set_header Host $http_host;
    79. proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
    80. }
    81. }
    82. [root@alice001 dashboard]#
    83. [root@alice001 dashboard]# nginx -t
    84. nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    85. nginx: configuration file /etc/nginx/nginx.conf test is successful
    86. [root@alice001 dashboard]# systemctl restart nginx