1) 创建目录
mkdir /root/dockerfile
cd /root/dockerfile
2)创建示例脚本: app.js
cat >app.js <<'EOF'
const http = require('http');
const os = require('os');
console.log("Kubia server starting...");
var handler = function(request, response) {
console.log("Received request from " + request.connection.remoteAddress);
response.writeHead(200);
response.end("You've hit " + os.hostname() + "\n");
};
var www = http.createServer(handler);
www.listen(8080);
EOF
3)创建Dockerfile
cat >Dockerfile <<'EOF'
FROM node:7
ADD app.js /app.js
ENTRYPOINT ["node", "app.js"]
EOF
4)构建容器镜像
docker build -t kubia .
5)docker相关操作(仅练习用)
docker run --name kubia-container -p 8080:8080 -d kubia
curl localhost:8080
docker ps
docker inspect kubia-container
docker exec -it kubia-container bash
docker stop kubia-container
docker rm kubia-container
6)上传镜像到仓库
docker image tag kubia 10.0.0.10:5000/luksa/kubia
docker image push 10.0.0.10:5000/luksa/kubia
7)kubectl相关操作(仅练习用)
kubectl run kubia --image=luksa/kubia --port=8080 --generator=run/v1
kubectl get pods
kubectl expose rc kubia --type=LoadBalancer --name kubia-http
kubectl get svc
#注意:K8S 1.21 已经弃用--generator= ,解决如下
kubectl run kubia --image=luksa/kubia --port=8080
kubectl expose pod kubia --type=NodePort
##############################################
curl 104.155.74.57:8080
kubectl get rc
kubectl scale rc kubia --replicas=3
kubectl get rc
kubectl get pods -o wide
kubectl describe pod kubia-hczji
kubectl delete services kubia
kubectl delete pods kubia