aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKevin J Hoerr <kjhoerr@protonmail.com>2021-09-09 14:57:55 -0400
committerKevin J Hoerr <kjhoerr@protonmail.com>2021-09-09 14:57:55 -0400
commit327d69b2fa273e6f708035db6f9f6df73ac07b0b (patch)
tree2313b127d8ff10d49ce0ebbc962d24c2c42122e9
parent6f77a3c75f40b5327623ac99b1036b6e37c56480 (diff)
downloadsubmelon.dev-327d69b2fa273e6f708035db6f9f6df73ac07b0b.tar.gz
submelon.dev-327d69b2fa273e6f708035db6f9f6df73ac07b0b.tar.bz2
submelon.dev-327d69b2fa273e6f708035db6f9f6df73ac07b0b.zip
Commit k8s deployment config
-rw-r--r--README.md37
-rw-r--r--kubernetes/deployment.yaml49
2 files changed, 83 insertions, 3 deletions
diff --git a/README.md b/README.md
index 5199081..43bdd5b 100644
--- a/README.md
+++ b/README.md
@@ -4,16 +4,16 @@
### Using Docker
-The Dockerfile works via a fresh clone, no pre-build is needed. It can be tagged as follows:
+The Dockerfile works via a fresh clone, no pre-build or npm install is needed. It can be tagged as follows:
```
-docker build -t registry.digitalocean.com/submelon-tech/submelon.tech:latest .
+docker build -t registry.digitalocean.com/submelon-tech/submelon.tech:1.0.0 .
```
Or if using M1/ARM,
```
-docker buildx build --platform linux/amd64 -t registry.digitalocean.com/submelon-tech/submelon.tech:latest .
+docker buildx build --platform linux/amd64 -t registry.digitalocean.com/submelon-tech/submelon.tech:1.0.0 .
```
If the build fails in error as a result of the image, the base gatsby images can be rebuilt. (The gatsby images as exist on Dockerhub do not work.) To rebuild those images, run the following commands:
@@ -37,3 +37,34 @@ docker buildx build --platform linux/amd64 -t gatsbyjs/gatsby:latest -f Dockerfi
```
And then attempt rebuild of the submelon.tech image.
+
+#### Authenticating with DO
+
+Install `doctl`. Create an access token via DO's web interface to authenticate with the registry, and connect docker:
+
+```
+doctl auth init
+doctl registry login
+```
+
+Then push the image to the registry:
+
+```
+docker push registry.digitalocean.com/submelon-tech/submelon.tect:1.0.0
+```
+
+#### DO K8s Deployment
+
+```
+doctl k8s cluster cfg save k8s-1-13-1-do-2-nyc1-1547908941746
+
+##
+
+kubectl config use-context do-nyc1-k8s-1-13-1-do-2-nyc1-1547908941746
+```
+
+Make version/environment changes to deployment config file, and apply:
+
+```
+kubectl apply -f kubernetes/deployment.yaml
+``` \ No newline at end of file
diff --git a/kubernetes/deployment.yaml b/kubernetes/deployment.yaml
new file mode 100644
index 0000000..39e20df
--- /dev/null
+++ b/kubernetes/deployment.yaml
@@ -0,0 +1,49 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ creationTimestamp: "2021-04-22T06:20:12Z"
+ labels:
+ k8s-app: submelon-tech
+ name: submelon-tech
+ namespace: default
+ uid: 60ce2fb5-2fc4-4909-858c-fb76be2ecdf4
+spec:
+ progressDeadlineSeconds: 600
+ replicas: 1
+ revisionHistoryLimit: 10
+ selector:
+ matchLabels:
+ k8s-app: submelon-tech
+ strategy:
+ rollingUpdate:
+ maxSurge: 25%
+ maxUnavailable: 25%
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ k8s-app: submelon-tech
+ name: submelon-tech
+ spec:
+ containers:
+ - image: registry.digitalocean.com/submelon-tech/submelon.tech:1.0.0
+ imagePullPolicy: Always
+ name: submelon-tech
+ resources:
+ requests:
+ cpu: 250m
+ memory: 64Mi
+ limits:
+ memory: 128Mi
+ cpu: 500m
+ securityContext:
+ privileged: false
+ terminationMessagePath: /dev/termination-log
+ terminationMessagePolicy: File
+ dnsPolicy: ClusterFirst
+ imagePullSecrets:
+ - name: doreg
+ restartPolicy: Always
+ schedulerName: default-scheduler
+ securityContext: {}
+ terminationGracePeriodSeconds: 30