handsome-actor-1155
09/25/2019, 6:35 PMhelm install \
-f ./providers/aws.yaml \
--name zookeeper \
--namespace operator \
--set zookeeper.enabled=true \
./confluent-operator
Is this helm/operator setup different than others out there? Does Pulumi support the name
option in the helm install --name zookeeper
command?const kafkaOperator = new k8s.helm.v2.Chart("confluent-operator", {
path: "confluent-operator/helm/confluent-operator",
namespace: namespace.kafka,
values: awsConfluent.config
}, {dependsOn: [kafkaNamespace], providers: {kubernetes: k8sKafkaProvider}});
confluent-operator
path is a folder containing all the files in the download from confluent’s site. awsConfuent.config
is a json’d version of values.yaml
so that I can just pass it an objectEvents:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 32s (x9 over 4m26s) default-scheduler pod has unbound immediate PersistentVolumeClaims (repeated 8 times)
creamy-potato-29402
09/25/2019, 7:48 PMhandsome-actor-1155
09/25/2019, 7:49 PMcreamy-potato-29402
09/25/2019, 7:49 PMhandsome-actor-1155
09/25/2019, 7:49 PMcreamy-potato-29402
09/25/2019, 7:50 PMhelm template
helm template
handsome-actor-1155
09/25/2019, 7:55 PM--name
options to create different deployments. Is that represented by the same chart
instance in pulumi? Or multiple instances of the same chart with different release names?creamy-potato-29402
09/25/2019, 7:56 PMhandsome-actor-1155
09/25/2019, 8:00 PMhelm install \
-f ./providers/aws.yaml \
--name operator \
--namespace operator \
--set operator.enabled=true \
./confluent-operator
plus
helm install \
-f ./providers/aws.yaml \
--name zookeeper \
--namespace operator \
--set zookeeper.enabled=true \
./confluent-operator
equals
const kafkaOperator = new k8s.helm.v2.Chart("confluent-operator", {
path: "confluent-operator/helm/confluent-operator",
namespace: namespace.kafka,
values: awsConfluent.config
}, {dependsOn: [kafkaNamespace], providers: {kubernetes: k8sKafkaProvider}});
awsConfluent.config.zookeeper.enabled = true;
const kafkaZookeeper = new k8s.helm.v2.Chart("confluent-zookeeper", {
path: "confluent-operator/helm/confluent-operator",
namespace: namespace.kafka,
values: awsConfluent.config
}, {dependsOn: [kafkaNamespace], providers: {kubernetes: k8sKafkaProvider}});
?awsConfluent.config
is just a json representation of values.yaml
creamy-potato-29402
09/25/2019, 8:05 PMhandsome-actor-1155
09/25/2019, 8:06 PMawsConfluent.config.operator.enabled = true;
const kafkaOperator = new k8s.helm.v2.Chart("confluent-operator", {
path: "confluent-operator/helm/confluent-operator",
namespace: namespace.kafka,
values: awsConfluent.config
}, {dependsOn: [kafkaNamespace], providers: {kubernetes: k8sKafkaProvider}});
creamy-potato-29402
09/25/2019, 8:14 PMhandsome-actor-1155
09/25/2019, 8:15 PMawsConfluent.config.operator.enabled = true;
const kafkaOperator = new k8s.helm.v2.Chart("confluent-operator", {
path: "confluent-operator/helm/confluent-operator",
namespace: namespace.kafka,
values: awsConfluent.config
}, {dependsOn: [kafkaNamespace], providers: {kubernetes: k8sKafkaProvider}});
awsConfluent.config.zookeeper.enabled = true;
const kafkaZookeeper = new k8s.helm.v2.Chart("confluent-zookeeper", {
path: "confluent-operator/helm/confluent-operator",
namespace: namespace.kafka,
values: awsConfluent.config
}, {dependsOn: [kafkaNamespace], providers: {kubernetes: k8sKafkaProvider}});
creamy-potato-29402
09/25/2019, 8:15 PMhandsome-actor-1155
09/25/2019, 8:16 PMawsConfluent.config.operator.enabled = true;
awsConfluent.config.zookeeper.enabled = true;
const kafkaOperator = new k8s.helm.v2.Chart("confluent-operator", {
path: "confluent-operator/helm/confluent-operator",
namespace: namespace.kafka,
values: awsConfluent.config
}, {dependsOn: [kafkaNamespace], providers: {kubernetes: k8sKafkaProvider}});
creamy-potato-29402
09/25/2019, 8:18 PMhandsome-actor-1155
09/25/2019, 8:19 PMcreamy-potato-29402
09/25/2019, 8:19 PMhandsome-actor-1155
09/25/2019, 8:22 PMcreamy-potato-29402
09/25/2019, 8:22 PMhandsome-actor-1155
09/25/2019, 8:23 PMcreamy-potato-29402
09/25/2019, 8:23 PMhandsome-actor-1155
09/25/2019, 8:23 PMcreamy-potato-29402
09/25/2019, 8:24 PMkubectl get pvc --all-namespaces
and kubectl get pv --all-namespaces
handsome-actor-1155
09/25/2019, 8:26 PMcreamy-potato-29402
09/25/2019, 8:27 PMhandsome-actor-1155
09/25/2019, 8:27 PMcreamy-potato-29402
09/25/2019, 8:27 PMhandsome-actor-1155
09/25/2019, 8:29 PMcreamy-potato-29402
09/25/2019, 8:29 PMhelm install
via these “providers” thoughhandsome-actor-1155
09/25/2019, 8:30 PMcreamy-potato-29402
09/25/2019, 8:30 PMhelm install -f
with a provider?helm template
?install
for template
?handsome-actor-1155
09/25/2019, 8:31 PMcreamy-potato-29402
09/25/2019, 8:31 PMhandsome-actor-1155
09/25/2019, 8:31 PMcreamy-potato-29402
09/25/2019, 8:32 PMtemplate
just expands the charthandsome-actor-1155
09/25/2019, 8:34 PMhelm template \
-f ./providers/aws.yaml \
--name operator \
--namespace operator \
--set operator.enabled=true \
./confluent-operator
creamy-potato-29402
09/25/2019, 8:35 PMnew Chart
?handsome-actor-1155
09/25/2019, 8:37 PMawsProvider.ts
values
option for the new Chart
creamy-potato-29402
09/25/2019, 8:38 PMnew k8s.helm.v2.Chart("confluent-operator", {
path: "providers/aws.yaml",
handsome-actor-1155
09/25/2019, 8:39 PMaws.yaml
provider filecreamy-potato-29402
09/25/2019, 8:40 PMhandsome-actor-1155
09/25/2019, 8:43 PMkubectl describe zookeeper zookeeper -n operator
creamy-potato-29402
09/25/2019, 8:44 PMhandsome-actor-1155
09/25/2019, 8:45 PMcreamy-potato-29402
09/25/2019, 8:46 PMhandsome-actor-1155
09/25/2019, 8:47 PMcreamy-potato-29402
09/25/2019, 8:47 PMhandsome-actor-1155
09/25/2019, 8:47 PMcreamy-potato-29402
09/25/2019, 8:47 PMhandsome-actor-1155
09/25/2019, 10:25 PMst1
as the storage type in my json but it was gp2
in the yaml file. Not sure why that would make a differencecreamy-potato-29402
09/26/2019, 2:27 AMhandsome-actor-1155
09/26/2019, 4:28 AMzookeeper.enabled=true
after the first run then running it again as there are no checks to make sure the previous dependency has completed before proceeding. Can I write Pulumi health checks to prevent zookeeper from proceeding before the operator has finished? Or is that something I need to write into the helm charts?-apikeys
was already created; however, if I create the individual components one by one I do not get the error.-apikeys
secret was indeed created but is empty. If I delete it and re run pulumi, it creates successfully with data.apiVersion: v1
kind: Secret
metadata:
{{- include "confluent-operator.labels" . }}
namespace: {{ .Release.Namespace }}
name: {{ .Values.name }}-apikeys
type: Opaque
data:
apikeys.json : {{ include "confluent-operator.apikeys" . | b64enc }}