This is an automated email from the ASF dual-hosted git repository. awong pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 70e0998fb1003763e596595c1b3ebb57c3d32bf3 Author: Andrew Wong <[email protected]> AuthorDate: Sat Feb 20 17:06:33 2021 -0800 k8s: minor updates to the StatefulSet I walked through some of the Kubernetes README and noticed the ports were off. This updates to use the typical defaults we use for masters and tservers. It also updates to use 4 tservers, which is closer to what would be used in production, given 3-4-3 replication. Change-Id: I50b0084f70d30187bcca4e356e38c35b2486c611 Reviewed-on: http://gerrit.cloudera.org:8080/17098 Tested-by: Kudu Jenkins Reviewed-by: Hao Hao <[email protected]> Reviewed-by: Alexey Serbin <[email protected]> --- kubernetes/README.adoc | 39 ++++++++++++++++++++------------------- kubernetes/kudu-services.yaml | 11 ++++++++--- kubernetes/kudu-statefulset.yaml | 10 +++++----- 3 files changed, 33 insertions(+), 27 deletions(-) diff --git a/kubernetes/README.adoc b/kubernetes/README.adoc index c06f509..dafb89d 100644 --- a/kubernetes/README.adoc +++ b/kubernetes/README.adoc @@ -27,9 +27,10 @@ NOTE: Read more about Kubernetes here https://kubernetes.io/docs/tutorials/kuber ==== System Requirements - kubectl - minikube or kubeadm - docker +- `minikube` or `kubeadm` to deploy your Kubernetes cluster. Start a Kubernetes + cluster before running through the next steps +- `kubectl` to run commands against the Kubernetes cluster +- `docker` to serve containers ==== Build Kudu Docker Image @@ -50,11 +51,10 @@ Check status of kudu services: You should see below output on stdout ``` -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -kudu-master-ui NodePort 10.110.150.101 <none> 8051:30082/TCP 8m2s -kudu-masters ClusterIP None <none> 8051/TCP,8050/TCP 8m2s -kudu-tservers ClusterIP None <none> 7050/TCP,7051/TCP 8m2s -tiller-deploy ClusterIP 10.96.104.11 <none> 44134/TCP 47h +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +kudu-master-ui NodePort 10.108.52.243 <none> 8051:30239/TCP 87m +kudu-masters ClusterIP None <none> 8051/TCP,7051/TCP 87m +kudu-tservers ClusterIP None <none> 8050/TCP,7050/TCP 87m ``` === Create StatefulSet for Kudu Masters and Kudu TServers @@ -71,17 +71,18 @@ You should see below output on stdout ``` NAME READY AGE -kudu-master 2/3 16s -kudu-tserver 3/3 16s - - -NAME READY STATUS RESTARTS AGE -kudu-master-0 1/1 Running 0 9m9s -kudu-master-1 1/1 Running 0 9m9s -kudu-master-2 1/1 Running 0 9m9s -kudu-tserver-0 1/1 Running 0 9m19s -kudu-tserver-1 1/1 Running 0 9m5s -kudu-tserver-2 1/1 Running 0 9m5s +kudu-master 3/3 89m +kudu-tserver 4/4 89m + + +NAME READY STATUS RESTARTS AGE +kudu-master-0 1/1 Running 1 90m +kudu-master-1 1/1 Running 1 90m +kudu-master-2 1/1 Running 0 89m +kudu-tserver-0 1/1 Running 1 90m +kudu-tserver-1 1/1 Running 1 90m +kudu-tserver-2 1/1 Running 1 90m +kudu-tserver-3 1/1 Running 1 90m ``` ==== Port Forward The Kudu Master UI diff --git a/kubernetes/kudu-services.yaml b/kubernetes/kudu-services.yaml index a5d0dfc..998e38c 100644 --- a/kubernetes/kudu-services.yaml +++ b/kubernetes/kudu-services.yaml @@ -15,6 +15,11 @@ # specific language governing permissions and limitations # under the License. + +# From https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/ +# > StatefulSets currently require a Headless Service to be responsible for the +# network identity of the Pods. You are responsible for creating this Service. + --- # headless service for kudu masters @@ -31,7 +36,7 @@ spec: - name: ui port: 8051 - name: rpc-port - port: 8050 + port: 7051 selector: app: kudu-master @@ -68,8 +73,8 @@ spec: clusterIP: None ports: - name: ui - port: 7050 + port: 8050 - name: rpc-port - port: 7051 + port: 7050 selector: app: kudu-tserver diff --git a/kubernetes/kudu-statefulset.yaml b/kubernetes/kudu-statefulset.yaml index eddae07..f95d0d9 100644 --- a/kubernetes/kudu-statefulset.yaml +++ b/kubernetes/kudu-statefulset.yaml @@ -53,9 +53,9 @@ spec: value: "kudu-master-0.kudu-masters.apache-kudu.svc.cluster.local,kudu-master-1.kudu-masters.apache-kudu.svc.cluster.local,kudu-master-2.kudu-masters.apache-kudu.svc.cluster.local" args: ["master"] ports: - - containerPort: 8050 - name: master-ui - containerPort: 8051 + name: master-ui + - containerPort: 7051 name: master-rpc volumeMounts: - name: datadir @@ -94,7 +94,7 @@ metadata: spec: serviceName: kudu-tservers podManagementPolicy: "Parallel" - replicas: 3 + replicas: 4 selector: matchLabels: app: kudu-tserver @@ -122,9 +122,9 @@ spec: value: "kudu-master-0.kudu-masters.apache-kudu.svc.cluster.local,kudu-master-1.kudu-masters.apache-kudu.svc.cluster.local,kudu-master-2.kudu-masters.apache-kudu.svc.cluster.local" args: ["tserver"] ports: - - containerPort: 7050 + - containerPort: 8050 name: tserver-ui - - containerPort: 7051 + - containerPort: 7050 name: tserver-rpc volumeMounts: - name: datadir
