企业入门实战--k8s之ipvs
IPVS模式的Service实现
安装软件
yum install - ipvsadm -y
kubectl -n kube-system get pod |grep proxy 查看proxy
kubectl -n kube-system get pod -o wide |grep proxy
kubectl -n kube-system get cm
kubectl -n kube-system edit cm kube-proxy ###更改模式
mode: "ipvs"
删除文件使其生效
kubectl get pod -n kube-system |grep kube-proxy |awk '{
system ("kubectl delete pod "$1" -n
kube-system")}
vim deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
labels:
app: myapp
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:v1
kubectl apply -f svc.yaml
kubectl get pod
kubectl describe svc.yaml
kubectl describe svc
ipvsadm -ln
Service实现外部访问
NodePort方式
kubectl edit svc mysvc 修改文件
查看svc修改信息
kubectl get svc
master端和node端都会暴露出端口
netstat -antlp|grep 30548
外部直接访问端口即可
curl 172.25.5.2/hostname.html
进入容器中查看解析
kubectl run demo -it --image=busyboxplus --restart=Never
nslookup mysvc
查看svc的endpoint
kubectl -n kube-system describe svc kube-dns
Headless无头模式
无头模式,外部访问,可直接访问服务名称
vim headless.yaml
cat headless.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-svc
spec:
ports:
- name: http
port: 80
targetPort: 80
selector:
app: myapp
clusterIP: None
拉起容器,查看svc信息
kubectl apply -f headless.yaml
kubectl get svc
进入容器终端查看解析
kubectl run demo --image=busyboxplus -it --restart=Never
nslookup nginx-svc
可以直接访问服务名
loadbanlacer
server1
拉取镜像
docker pull quay.io/metallb/speaker:v0.10.2
docker pull quay.io/metallb/controller:v0.10.2
docker push reg.westos.org/metallb/speaker:v0.10.2
docker push reg.westos.org/metallb/controller:v0.10.2
server2
kubectl edit configmaps -n kube-system kube-proxy ## 编辑文件
ipvs:
excludeCIDRs: null
minSyncPeriod: 0s
scheduler: ""
strictARP: true
syncPeriod: 0s
tcpFinTimeout: 0s
tcpTimeout: 0s
udpTimeout: 0s
kind: KubeProxyConfiguration
kubectl get pod -n kube-system |grep kube-proxy |awk '{
system ("kubectl delete pod "$1" -n
kube-system")}'
cd metallb/
vim metallb.yaml ## 创建服务
Client:
Debug Mode: false
Server:
Containers: 31
Running: 16
Paused: 0