Skip to content

Instantly share code, notes, and snippets.

@khaosdoctor
Last active February 22, 2023 23:39
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save khaosdoctor/3309c25b7155db7705c07fa4fb99e169 to your computer and use it in GitHub Desktop.
Save khaosdoctor/3309c25b7155db7705c07fa4fb99e169 to your computer and use it in GitHub Desktop.
Scripts e comandos que eu faço no vídeo sobre KinD com Kubernetes: https://www.youtube.com/watch?v=dL19dSGKZoc
kind create cluster --name demo-cluster
kind get clusters
kubectl config get-contexts
kubectl apply -f ./9-deploy.yaml
kubectl get pods
kubectl logs deploy/api
kubectl port-forward service/api 3000:80
kubectl get namespaces # ou kubectl get ns
kubectl get pods -n kube-system
kind delete cluster --name demo-cluster
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
- role: worker
kind create cluster --name demo-cluster-3 --config ./4-kind-3-nodes.yml
kind get clusters
kubectl config get-contexts
kubectl get pods -n kube-system
kubectl get nodes
// Crie o arquivo package.json com o comando npm init -y
import {createServer} from 'node:http'
const server = createServer((r, rs) => {
rs.writeHead(200, { 'Content-Type': 'application/json' })
rs.end('Hello')
})
server.listen(process.env.PORT || 3000, () => console.log(`Server running on port ${process.env.PORT || 3000}`))
docker build -t hello-api .
docker images
kind load docker-image hello-api --name demo-cluster-3
apiVersion: apps/v1
kind: Deployment
metadata:
name: api
spec:
selector:
matchLabels:
app: api
template:
metadata:
labels:
app: api
spec:
containers:
- name: api
image: hello-api
imagePullPolicy: IfNotPresent
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:
name: api
spec:
selector:
app: api
ports:
- port: 80
targetPort: 3000
FROM node:18-alpine
EXPOSE 3000
RUN mkdir /app
WORKDIR /app
COPY package.json index.mjs /app/
ENTRYPOINT ["node", "index.mjs"]
@williamkoller
Copy link

4-kind-3-nodes.yml
alter node for nodes, at least here in my maxina I had to do this

@khaosdoctor
Copy link
Author

Thanks! It was a typo!

@leandroandrade
Copy link

Hi, I'd like to share some fixes into file [9-deploy.yaml](https://gist.github.com/khaosdoctor/3309c25b7155db7705c07fa4fb99e169#file-9-deploy-yaml

  • line 9, must be template: instead template
  • line 34, I needed to change from containerPort to targetPort. Without this changes, this error occur: Error from server (BadRequest): error when creating "deploy.yml": Service in version "v1" cannot be handled as a Service: strict decoding error: unknown field "spec.ports[0].containerPort"

@khaosdoctor
Copy link
Author

Thanks! Updated!

@thiagostq1
Copy link

Estou com esse erro, como resolver?

The connection to the server 172.31.68.87:6443 was refused - did you specify the right host or port?

@khaosdoctor
Copy link
Author

Esse pode ser um erro de configuração do cluster, você consegue rodar algum outro comando?

@thiagostq1
Copy link

thiagostq1 commented Dec 17, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment