k8s2
1、rc资源的滚动升级


交互式就是手动修改配置文件



升级一个干掉一个始终保证又5个pod运行

2、svc资源讲解



















做完记得重启 systemctl restart kube-apiserver.service
service帮助pod暴露端口
创建一个service
apiVersion
kind
metadata
name
spec
type
ports
nodePort
targetPort
selector
app
kubectl scale rc nginx --replicas=2 #调整rc的副本书
kubectl exec -it pod_name /bin/bash #进入pod容器
修改nodePort范围
vim /etc/kubernetes/apiserver
KUBE_API_ARGS="--service-node-port-range=3000-50000"
命令行创建service资源
kubectl expose rc nginx --type=NodePort --port=80
service默认使用iptables来实现负载均衡, k8s 1.8新版本中推荐使用lvs(四层负载均衡 传输层tcp,udp)






rc滚动升级的时候会创建新的rc,新的rc会创建新的pod,然后新的pod会代替老的pod第一个rc也会被删除
deployment升级是两个rs rs是rc的升级版,再新老替换时pod会删除,但rs只是模板调成0,方便以后回滚


3、deployment资源讲解
解决rc问题的痛点







deplon
有rc在滚动升级之后,会造成服务访问中断,于是k8s引入了deployment资源
创建deployment
apiVersion
kind
metadata
name
spec
replicas
strategy
rollingUpdate
maxSurge
maxUnavailable
type
minReadySeconds
template
metadata
labels
app
spec
containers
image
ports
resources
limits
cpu
requests
cpu
4、deployment的升级策略和命令行管理

apiVersion
kind
metadata
name
spec
replicas
strategy
rollingUpdate
maxSurge
maxUnavailable
type
minReadySeconds
template
metadata
labels
app
spec
containers
image
ports
resources
limits
cpu
requests
cpu
保留两个pod 一次升级升级两个 不定义策略就有默认的策略
deployment升级和回滚
命令行创建deployment
kubectl run nginx --image=10.0.0.11:5000/nginx:1.13 --replicas=3 --record








命令行升级版本
kubectl set image deployment nginx nginx=10.0.0.11:5000/nginx:1.15
查看deployment所有历史版本
kubectl rollout history deployment nginx
deployment回滚到上一个版本
kubectl rollout undo deployment nginx
deployment回滚到指定版本
kubectl rollout undo deployment nginx --to-revision=2
5、tomcat连接mysql



















6、讲docker-compose项目迁移到k8s









7、k8s的dns讲解








vi skydns-rc.yaml
...
spec:
nodeName: 10.0.0.13
containers:
kubectl create -f skydns-rc.yaml
kubectl create -f skydns-svc.yaml

秒起,因为省了许多步骤




两台配置文件都需要修改配置文件




