官方的文档

安装

centos8安装记录
pod和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
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐