docker+k8s

kubectl version
node server.js
1.创建Dockerfile文件命令 在项目目录下
FROM node:8.11.2
WORKDIR app
COPY . .
EXPOSE 8081
ENTRYPOINT [ "node","server.js" ]

2.docker build -t yinwensheng/kube-node-demo:v1 . 打包镜像 
docker build -f /path/to/a/Dockerfile .

3.docker login --username yinwensheng 登录 do
 
4.docker push yinwensheng/kube-node-demo:v1 上传镜像
 
5.yaml deployment部署应用程序到k8s
创建一个名为deployment.yaml的yaml文件

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kube-node
spec:
replicas: 2
template:
metadata:
labels:
app: web
spec:
containers:
- name: kube-node-demo-instance
image: yinwensheng/kube-node-demo1:v1
ports:
- containerPort: 8081

6.执行 kubectl create -f deployment.yaml 命令
7.kubectl get pods 查询服务状态 
8.可以查看具体的Pod信息 : kubectl describe pods/kube-node-59bf664cbf-2qzgd

9.参考Kubernetes配置secret拉取私有仓库镜像的官方文档后

kubectl create secret docker-registry myregistrykey 

--docker-server=https://index.docker.io/v1/
--docker-username=yinwensheng
--docker-password=xxxx

[email protected]

10.kubectl get secrets

这样我们就创建好了secret,然后再将这个secret加到yaml文件中,修改后的deployment.yaml文件如下:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kube-node
spec:
replicas: 2
template:
metadata:
labels:
app: web
spec:
containers:
- name: kube-node-demo-instance
image: yinwensheng/kube-node-demo1:v1
ports:
- containerPort: 8081
imagePullSecrets:
- name: myregistrykey

11.kubectl delete deployments/kube-node

12.kubectl create -f deployment.yaml

13.kubectl get pods -o wide

14.curl 10.244.2.66:8081

15.kubectl get services /kubectl get svc nginx/

kubectl get svc nginx
curl <insert-cluster-ip-here>
 
可以查看运行着的Pod和服务的列表。
kubectl get pods
kubectl get svc
kubectl cluster-info        #得到集群信息
 
# 列出命名空间里的所有服务
$ kubectl get services
# 列出命名空间里的所有Pod,并提供详细信息
$ kubectl get pods -o wide
# 列出所有命名空间里的所有Pod
$ kubectl get pods --all-namespaces
# 列出特定的复制控制器
$ kubectl get rc <rc-name>
# 列出带有标签env=production的所有pod
$ kubectl get pods -l env=production
 
yaml 创建service 向外暴露服务

猜你喜欢

转载自www.cnblogs.com/ywsheng/p/12536985.html