• [学习记录]与kubernetes的第二天


    昨天基本搭好了环境,不过忘记说calico了,这里简单提一句

    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

    运行即可

    ----------------------------------------

    今天主要是通过一个helloworld的方式来测试kubernetes的功能正常。参考https://zhangaoo.com/article/kubectl-deployment

    之前由于是在一个虚拟机上运行的,所以只有一个master节点,master节点默认不会被调度运行pod,所以需要为它涂上污点(taint),污化后的master节点就可以被当作普通node来运行pod了

    命令如下:

    kubectl taint node [node名] node-role.kubernetes.io/master-

    接下来准备helloworld的相关事项

    服务端代码server.js

    var http = require('http');
    
    var handleRequest = function(request, response) {
      console.log('Received request for URL: ' + request.url);
      response.writeHead(200);
      response.end('Hello World!');
    };
    var www = http.createServer(handleRequest);
    www.listen(8080);

    配置Dockerfile

    FROM node:6.9.2
    EXPOSE 8080
    COPY server.js .
    CMD node server.js

    注意当前路径下仅有Dockerfile与server.js

    执行命令,注意最后空格加句点

    docker build -t hello-node:v1 .

    接下来创建一个deployment,deployment会管理pod

    kubectl create deployment hello-node --image=hello-node-app:v1

    此时通过kubectl get deployments可以看到它,通过kubectl get pods可以看到运行中的pod

    为了访问,我们需要将其通过一个service将端口暴露出来

    kubectl expose deployment hello-node --port=8080 --target-port=8080

    此时通过kubectl get service就可以发现刚才的service,并且还有访问的ip和端口

    现在通过curl -L 命令访问该ip即可看到helloworld的效果。

  • 相关阅读:
    springboot与docker
    Docker入门笔记(Centos7)
    记录VUE-CLI项目创建及初始化相关
    centos下安装mysql5.6
    GitLab权限介绍
    属性文件操作之Properties与ResourceBundle
    Shell入门基础
    JavaScript基础的记录
    Java基本排序算法
    解读闭包,这次从ECMAScript词法环境,执行上下文说起
  • 原文地址:https://www.cnblogs.com/trickofjoker/p/13259934.html
Copyright © 2020-2023  润新知