499689317 / notes

note
2 stars 0 forks source link

k8s #34

Open 499689317 opened 3 years ago

499689317 commented 3 years ago

minikube

启动 minikube start命令直接启动k8s创建一个docker镜像模拟虚拟机? minikube start --vm=true会安装基于hyperkit虚拟机的k8s集群,如果没有启用虚拟机,好像Service对象不能导出对外访问ip?


:查了很多资料,Service Type为NodePort创建Service后,minikube的EXTERNAL-IP始终为None,需要执行minikube service servicename --url节点端口信息访问服务导出访问地址后才能访问Service minikube service list命令可以查看当前集群所有可访问的Service URL地址

499689317 commented 3 years ago

k8s基本对象


Namespace

Node

Service

Pod

Volume

499689317 commented 3 years ago

k8s Controller(基于基本对象构建并拓展了相关功能)


Replication Controller

ReplicaSet

Deployment

StatefulSet

DaemonSet

Job


499689317 commented 3 years ago

使用Deployment创建无状态服务

499689317 commented 3 years ago

使用StatefulSet创建有状态服务(redis集群)

499689317 commented 3 years ago

连接k8s集群内Pods

可以使用kubectl port-forward命令转发一个本地端口到Pod端口上 如:kubectl -n local-dev port-forward deployment/local-redis 6379:6379 或:kubectl -n local-dev port-forward pods/local-redis-78dcb449cf-cszxr 6379:6379

使用Ingress连接集群内Pod 启动Ingress控制器,minikube有自带的Ingress驱动,直接安装即可minikube addons enable ingress 集群内创建Ingress对象,指定相应的路由流量控制,会自动生成一个连接的ADDRESS


:在 1.18 加入 IngressClass 之前,需要在 Ingess 资源中使用 kubernetes.io/ingress.class 注解annotations来指定 Ingress 控制器。在没有官方定义的情况下,这个注解被大量的 Ingress 控制器所支持