@Test Identifies a method as a test method. @Before Executed before each test. It is used to prepare the test environment (e.g. read input data, initialize the class). @After Executed after test. It is used to cleanup the test environment. It can also save memory by cleaning up expensive memory structures. @BeforeClass Executed once, before the start of all tests. Methods marked with this annotaion need to be defined as static to work with JUnit. @AfterClass Executed once, after all tests have been finished. Methods annotated with this annotation need to be defined as static to work with JUnit. @Ignore Marks that the test should be disabled. @Test(expected = Fails if the method does not throw the named exception. Exception.class) @Test(timeout = 10) Fails if the method takes longer than 100 millseconds.
2021년 7월 2일 금요일
JUnit 4 Annotations
2021년 4월 2일 금요일
Types of Services
Cluster IP => Set up an easy-to-remember URL to access a pod.
Only exposes pods in the cluster
Node Port => Makes a pod accessible from outside the cluster.
Usually only used for dev purposes
Load Balancer => Makes a pod accessible from outside the cluster.
This is the right way to expose a pod to the outside world
External Name => Redirects an in-cluster request to a CNAME url...
_______________________________________________________________________________________
Load Balancer Service => Tells Kubernetes to reach out to its provider
and provision a load balancer.
Gets traffic in to a single pod
Ingress or Ingress Controller =>
A pod with a set of routing rules to distribute traffic to other services
2021년 3월 27일 토요일
Kubernetes Config Files
1. Thells Kubernetes about the different Deployments, Pods, and Services
(referred to as 'Objects') that we want to create
2. Written in YAML syntax
3. Always store these files with our project source code - they are documentation!
4. We can create Objects without config files - do not do this. Config files
provide a precise definition of what your cluster is running.
kubernetes
Kubernetes Cluster => A collections of nodes + a master to manage them
Node => A virtual machine that will run our containers
Pod => More or less a running container.
Technically, a pod can run multiple containers
(we won't do this)
Deployment => Monitors a set of pods, make sure they are running
and restarts them if they crash
Service => Provides an easy-to-remember URL to access
a running container
2021년 3월 26일 금요일
node js building docker
FROM node:alpine => Specify base image
WORKDIR /app => Set the working directory to '/app' in the container. All following commands will be
issued relative to this dir
COPY package.json ./ => Copy over only the package.json file
RUN npm install => Install all dependencies
COPY ./ ./ => Copy over all of our remaining source code
CMD ["npm", "start"] => Set the command to run when the container
starts up
Dockerfile
FROM node:alpine
WORKDIR /app
COPY package.json ./
RUN npm install
COPY ./ ./
CMD ["npm", "start"]
.dockerignore
node_modules
docker build .
Successfully built eb521ea6b7e6
docker run eb521ea6b7e6
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docker build -t abcdefg/efgh . => Build an image based on the dockerfile in the
current directory. Tag it as 'abcdefg/efgh'
docker run [image id or image tag] => Create and start a container based on the
provided image id or tag
docker run -it [image id or image tag] [cmd] => Create and start container, but also
override the default command
docker ps => Print out information about all of the
running containers
docker exec -it [container id] [cmd] => Execute the given command in a running
container
docker logs [container id] => Print out logs from the given container