k8s入门操作

https://kubernetes.io/zh/docs/concepts/workloads/pods/#pods-and-controllers
我们先删除 之前安装过的副本
kubectk get all kubectl delete deployment.apps/tomcat6
kubectl delete pod/tomcat6-new
先部署一个tomcat
kubectl create deployment tomcat6 --image=tomcat:6.0.53-jre8 --dry-run -o yaml > tomcat6-deployment.yaml
vi tomcat6-deployment.yaml
apiVersion: apps/v1 kind: Deployment metadata: apiVersion: apps/v1 kind: Deployment metadata: labels: app: tomcat6 name: tomcat6 spec: apiVersion: apps/v1 kind: Deployment metadata: labels: app: tomcat6 name: tomcat6 spec: replicas: 3 selector: matchLabels: app: tomcat6 template: metadata: labels: app: tomcat6 spec: containers: - image: tomcat:6.0.53-jre8 name: tomcat
使用yml部署方式
kubectl apply -f tomcat6-deployment.yaml

部署成功

kubectl expose deployment tomcat6 --port=80 --target-port=8080 --type=NodePort --dry-run -o yaml
我们将下面这段代码复制到
apiVersion: v1 kind: Service metadata: creationTimestamp: null labels: app: tomcat6 name: tomcat6 spec: ports: - port: 80 protocol: TCP targetPort: 8080 selector: app: tomcat6
type: NodePort
vi tomcat6-deployment.yaml

我们将之前的部署删除 kubectl get all kubectl delete deployment.apps/tomcat6
重新部署tomcat6
kubectl apply -f tomcat6-deployment.yaml

----
Ingress 可以实现基于域名的访问 如果其中一个pod宕机了 可以对外是透明的 负载均衡
kubectl apply -f ingress-controller.yaml


apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: web
spec:
rules:
- host: tomcat6.lcc.com
http:
paths:
- backend:
serviceName: tomcat6
servicePort: 80

我们在window hosts文件中修改域名访问



浙公网安备 33010602011771号