docker+k8s

https://www.cnblogs.com/yxh168/p/10898379.html k8s 规范
https://www.cnblogs.com/harlanzhang/p/10045975.html

p
od 是一个服务
搭建k8s 客户端查询应用服务

 

 


kubectl get pods --namespace=logging
 
1.创建命名空间Namespace
2.apiVersion: v1
kind: Namespace
metadata:
  name: logging
3.kubectl create -f kube-logging.yaml
4. kubectl get ns

二.创建
Service
2.1
kind: Service apiVersion: v1 metadata: name: elasticsearch namespace: logging labels: app: elasticsearch spec: selector: app: elasticsearch clusterIP: None ports: - port: 9200 name: rest - port: 9300 name: inter-node


2.2 kubectl create -f elasticsearch-svc.yaml
2.3 kubectl get services --namespace=logging
 
 
docker logs -f rancher
 docker ps | grep dashboard
执行创建    kubectl create -f  pod-demo.yml      2.执行删除  kubectl delete -f  pod-demo.yml
查看pod中指定容器日志

kubectl logs pod-demo busybox
kubectl get pods
kubectl describe pods pod-demo
进入pod容器执行命令
kubectl exec -it pod-demo -c myapp -- /bin/sh
kubectl get pod -n kube-system -o wide
netstat -ptln命令查看30001端口是否已经开放。
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

--docker-email=xxxx@qq.com

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 向外暴露服务
 

Service和Pod

 
 

posted @ 2020-03-21 10:44  小蚊子大人KN  阅读(1533)  评论(0编辑  收藏  举报