K8S学习总结
通过deployment的方式进行创建。
安装
k8s启动
因为我是自己的电脑,所以每次都自己关闭防火墙了,所以要重启一下docker服务
service docker restart
minikube start #可以带上自己仓库地址,如果发现k8s拉取镜像失败
k8s拉取启动镜像失败
docker镜像我修改了源,但发现k8s还是拉取旧的源,解决思路,先关闭minikube,然后清理之前配置(三思,我的是没什么配置就直接清除了),然后在重启。注意这个脚本种的仓库地址需要替换。下面有获得源的办法
minikube stop
minikube delete
minikube start \
--registry-mirror=https:xxxx
注册个阿里云,搜一下容器镜像服务,将加速地址复制一下替换上述的地址就好了
启动第一个服务
通过deployment的方式进行创建
kubectl create deployment hello-nginx --image=nginx:latest
关闭服务
可以在看板的deployment里关闭,因为是deployment里打开的
启动k8s看板
minikube dashboard
暴露服务
kubectl expose deployment hello-nginx --type=NodePort --port=80
上面这种写法就是对外暴露80端口,同时默认target-port是80,和–port一致
还有一种暴露服务的写法是kubectl expose deployment hello-nginx --type=NodePort --port=9996 --target-port=80,target-port为内部监听的port,–port还是我们想要暴露的端口号
这个时候kubectl get services发现怎么还有个30000多的端口?这个端口是干嘛的?这个是集群外部可以访问的,注意这个cluster-ip可不是nodeport的端口。应该使用external-ip,如何获取external-ip呢?使用kubectl get nodes -o wide

通过external-ip:external-port就可以访问到了,
expose type区别
官方说明链接给出的定义如下,但是我觉得NodePort和LoadBalancer说法还是太抽象了,我怎么看出来区别呢?我简单的实验了下
如果是LoadBalancer,external-ip是pending的状态,简单可以从这里看出来一定得差别
查看services
kubectl get services
自动打开服务
minikube service hello-nginx
查看pods
kubectl get pods
更多推荐



所有评论(0)