You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by aw...@apache.org on 2021/02/26 22:13:25 UTC
[kudu] 02/03: k8s: minor updates to the StatefulSet
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 <aw...@cloudera.com>
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 <ha...@cloudera.com>
Reviewed-by: Alexey Serbin <as...@cloudera.com>
---
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