Development Cluster Configuration

From WilliamsNet Wiki
Revision as of 01:40, 26 December 2019 by DrEdWilliams (talk | contribs)
Jump to navigation Jump to search

These packages form the basic functionality of the development cluster. The packages need to be installed in this order to preserve the IP address assignments. If the order is changed (or one is left out) you may need to review and modify IP assignments in the DNS server on the firewall.

Scripts & config files are checked into gitlab under the Kubernetes group project listed.

activity gitlab script/procedures/config IP hostname(s)
BeeGFS Installation install the parallel filesystem components on controller & nodes to support the /workspace filesystem
NVIDIA device plugin https://github.com/NVIDIA/k8s-device-plugin
Dynamic Provisioning k8s-admin (k8s-admin wiki)
Harbor Registry k8s-admin 10.0.0.201 harbor-dev.williams.localnet

Storage

The production cluster depends on the /workspace filesystem for its persistent storage. The BeeGFS components are installed as shown here:

component system location storage size
Management Server controller /beegfs/beegfs-mgmtd local SSD ~200G (shared with OS)
Metadata Server controller /beegfs/beegfs-meta local SSD ~200G (shared with OS)
Storage Server controller /ws_data/beegfs/beegfs-storage mounted from Equalogic array 7.9T
Storage Server storage1 /ws_data_2 local 5x4TB RAID5 array 15T

Systems that require access to both the development filesystem (/workspace) and the production filesystem (/shared) require a special client configuration.

Dashboard Token

Obtain the current dashboard token with this command:

kubectl -n kube-system describe secrets \
   `kubectl -n kube-system get secrets | awk '/clusterrole-aggregation-controller/ {print $1}'` \
   | awk '/token:/ {print $2}'

The current Development cluster dashboard token is:

   eyJhbGciOiJSUzI1NiIsImtpZCI6IkxxR0l4c1pkX3puTXNRNlhTWG1JcTdHSk92cEEyRjFiTE5lQWxOUURqVXMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJjbHVzdGVycm9sZS1hZ2dyZWdhdGlvbi1jb250cm9sbGVyLXRva2VuLXB0aGRrIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImNsdXN0ZXJyb2xlLWFnZ3JlZ2F0aW9uLWNvbnRyb2xsZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJjOTUxMjdmMS04YTMyLTRjZDItYTY4Ny0yZDRjMTE4ZTFiMDIiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06Y2x1c3RlcnJvbGUtYWdncmVnYXRpb24tY29udHJvbGxlciJ9.Ia_MASEPwHtc-89IKyHYrbuUqTqr_eG3DTTxGoK5lMf-OOrVhxU3DljtWdkE4DgKRLzAtsGsRwIPMwCcf3dsV2hOZ1zWkVerVt5oMs9fGcFR3a09BuR4QfPrw1kHlgh2h6jd4-P1NqdJqprovMjWMBiN-mvkrBDSq4pdHQo3YH5imB48Omf5ZqT88zgfFASqAh9VIofBn35NPB69uewoddgUuYfgJBqniFQBCU97e9-MuTaiqIJ1f71DVThU72vDZP65ZEUo1DNSXLVyrqXMz72hP7ojmc2VRNxjzDBENIZeTDj5b0tEHjCKkDv4tQexESKvU-Kf21XNVSPNWAtmRQ

Kubernetes Node Join Command

kubeadm join 10.1.0.10:6443 --token qmbipv.zu9a88gbg81on5rv \
    --discovery-token-ca-cert-hash sha256:244c33a3b6ede007ad585ff9d0b608a9598bb17013195e162e819e9553755b59 \
    --ignore-preflight-errors Swap --node-name=`hostname -s`