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

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM