diff --git a/README-en.md b/README-en.md index 30b735d..bb9134d 100644 --- a/README-en.md +++ b/README-en.md @@ -86,6 +86,7 @@ The following shows the available options to run this bootstrap. | ```-i / --ip``` | Host IP | Declare IP for master node (e.g, 10.0.0.1).
In case of deploying k8s in a cloud (e.g, aws, gcp …) declare an IP with the scope of a private IP, not the public IP. | | | ```-kv / --k8sversion``` | | Displays all versions of k8s this bootstrap can install | | | ```-m / --master``` | | Use this option to install a master ```-m``` | The flag ```-i/--ip``` is a must if this option is utilized. | +| ```-ms / --metricserver``` | | To install the metrics-server for Kubernetes, use the `-ms` flag. | It can only be installed when configuring a master node, so the `-m/--master` flag is also required. | | ```-p / --password``` | Master(Host) node password | Required for ssh login using a password.
It is done so the worker node can access the master during installation to obtain the join token. Both master and worker must be in the same subnet. | The flag ```-u/--username``` is a must if this option is utilized. | | ```-r / --regularuser```
**(\*beta)** | HOME_PATH of regular user | This bootstrap is executed with sudo permission, thus this option is used to allow regular users (such as the user `ubuntu` in ubuntu servers) to also use k8s.
run this option as ```-r /home/username```. Crucial that HOME_PATH is the same as **the regular user's home directory($HOME)** | Not a must option. Utilized when initializing a master node with ```-m```. | | ```-u / --username``` | Master(Host) node username | ```username``` for ssh login.
Set so a newly created worker node within the same subnet as the master node can fetch the join token from the master node. | The floag ```-p/--password``` is a must if this option is utilized. | diff --git a/README.md b/README.md index 44e48db..f684706 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,7 @@ sudo ./k8s-cluster-bootstrap.sh [options] | ```-i / --ip``` | Host IP | host ip (e.g. 10.0.0.1) 입니다.
만약 클라우드(e.g, aws, gcp …) 등을 사용 할 경우, public IP가 아닌, private IP를 사용해야 합니다. | | | ```-kv / --k8sversion``` | | 지원하는 쿠버네티스 버전을 보여줍니다. | | | ```-m / --master``` | | master 노드를 생성하고자 하는 경우 ```-m``` 플래그를 사용하면 됩니다. | ```-i/--ip``` 플래그가 반드시 요구됩니다. | +| ```-ms / --metricserver``` | | kubernetes의 metrics-server를 설치하고자 하는 경우 ```-ms``` 플래그를 사용하면 됩니다. | master노드를 구성하는 경우에만 설치가 가능하기 때문에 ```-m/--master``` 플래그가 반드시 요구됩니다. | | ```-p / --password``` | Master(Host) node password | ssh 로그인시 마스터 노드에 접속하기 위한 비밀번호입니다.
같은 서브넷 안에서 worker 노드 생성시 master 노드로부터 token을 갖고오기 위한 옵션입니다. | ```-u/--username``` 플래그와 반드시 같이 사용해야합니다. | | ```-r / --regularuser```
**(\*beta)** | HOME_PATH of regular user | 현재 sudo 권한으로 실행한 user 외에 다른 일반 유저에 대해서도 접근 권한을 부여하고자 할 때 사용합니다.
```-r /home/username``` 과 같이 사용하며, 이 때 HOME_PATH는 반드시 **해당 계정의 홈 디렉토리($HOME)** 이어야 합니다. | 선택 옵션이나, ```-m``` (마스터 노드 생성) 때에만 사용되는 옵션입니다. | | ```-u / --username``` | Master(Host) node username | ssh 로그인시 마스터 노드에 접속하기 위한 username입니다.
같은 서브넷 안에서 worker 노드 생성시 master 노드로부터 token을 갖고오기 위한 옵션입니다. | ```-p/--password``` 옵션과 반드시 같이 사용해야합니다. | diff --git a/k8s-cluster-bootstrap.sh b/k8s-cluster-bootstrap.sh index 2b00689..6922a42 100644 --- a/k8s-cluster-bootstrap.sh +++ b/k8s-cluster-bootstrap.sh @@ -140,6 +140,7 @@ CONTAINER_TYPE="docker" USED_CONTAINERD=false CRI_SOCKET="" K8S_VERSION="" +METRICS_SERVER=false while (( "$#" )); do case "$1" in @@ -171,6 +172,10 @@ while (( "$#" )); do VALID_WORKER=true shift ;; + -ms|--metricserver) + METRICS_SERVER=true + shift + ;; -c|--cni) if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then WITH_CNI=true @@ -234,6 +239,7 @@ while (( "$#" )); do printstyle " -i | --ip host-private-ip(master node) configuration for kubernetes. \n" printstyle " -kv | --k8sversion Shows a list of supported Kubernetes versions. \n" printstyle " -m | --master Set to initialize this node a master node. \n" + printstyle " -ms | --metricserver Install the metrics-server in Kubernetes. \n" printstyle " -p | --password Use password(master node) to access the master for a token copy when initialing worker node. \n" printstyle " -r | --regularuser Allow regular users to access kubernetes. \n" printstyle " -u | --username Use username(master node) to access the master for a token copy when initialing worker node. \n" @@ -629,6 +635,17 @@ if [[ $VALID_MASTER == true ]]; then rm -rf $HOME_PATH/cni printstyle "Success! \n" 'success' fi + + if [[ $METRICS_SERVER == true ]]; then + lineprint + printstyle "Installing metrics-server... \n" 'info' + lineprint + curl -L -o components.yaml https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml + sed -i '/--metric-resolution=15s/a\ - --kubelet-insecure-tls' components.yaml + mv components.yaml kube-metrics-server.yaml + kubectl apply -f kube-metrics-server.yaml + printstyle "Success! \n" 'success' + fi fi if [[ $VALID_WORKER == true ]]; then