K8S学习记录
kubelet在启动之后会一直闪烁运行;systemctl status kubelet之后,会发现有时候runnning有时候退出,属于一直闪烁。(尚硅谷P34视频最后)
systemctl 命令 ctl表示controller 。
system enable表示开机启动,后面加上--now表示顺便立即启动
尚硅谷讲义文档地址:https://www.yuque.com/leifengyang/oncloud/gz1sls#O0p2A
Linux输入的这种代码叫bash
初始化master节点
#所有机器配置master域名
echo "172.31.0.4 k8s-master" >> /etc/hosts
kubeadm init \ --apiserver-advertise-address=172.31.0.4 \ //master节点地址 --control-plane-endpoint=k8s-master \ --image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images //阿里镜像源 --kubernetes-version v1.20.9 \ --service-cidr=10.96.0.0/16 \ //可能和负载均衡有关 --pod-network-cidr=192.168.0.0/16 //起pod的时候随机分配ip的范围
curl https://docs.projectcalico.org/manifests/calico.yaml -O //下载calico网络互联节点插件 curl命令 还有wget命令
kubectl apply -f calico.yaml //k8s安装的方式,根据yaml安装
cat calico.yaml |grep xxx //可以显示搜索文档里包含xxx的行 具体命令细节可以再看下。
calico里面有个默认的地址是192.168开头的,如果自己设置的上面的pod-network-cidr和文档不一样,要在这里改掉
kubectl get nodes 查看所有节点 //实际上get这个命令可以get很多东西,都可以试试 docker ps == kubectl get pods -A 查看集群部署了哪些应用 -W可以动态显示状态,比如从在启动中变成运行中
(-A代表ALL,代表namespace的all,不加的话只能看到ns为default的
动态执行bash命令,可以用linux的原生命令,watch -n 1 +命令,可以每隔一秒执行一下命令;所以就可以
watch -n 1 kubectl get pods -A
或者直接get pod -w也可以提供同样效果
运行中的应用在docker里叫容器,在k8s里叫pod
kubectl get pods -A 之后会显示calico和下面这些
kube-scheduler-k8s-master 调度者
proxy 看门大爷
controller-manager 集群的决策者
api-server 秘书部,所有请求都发给他
etcd 集群的资料库
上述角色详见P28开头
kubectl run mynginx --image=nginx //创建nginx的pod,从网络上下载。
kubectl get pod //因为在下载中,所以说这个nginx的pod在creating
kubectl describe pod nginx //可以看到具体的 run的信息,比如 被分配到了哪个node,当前是在下载还是准备启动了。
主节点是可以看到所有pod,但是pod是真实基于docker的,k8s基于docker,所以在主节点docker ps 是看不到myngix这个容器,
但是在被分配到的节点,docker ps|grep mynginx 搜索一下就可以看到这个容器。
get pod -owide 可以看到正在运行的pod的ip
curl 加一个页面 可以显示这个页面的数据,比如查你改过的一些测试页面index(niginx里的或者tomcat)
log可以看日志
对pod进行操作的时候,可以开两个命令行界面,另一个开着watch pod来看pod的实时动态
P52最后,可以通过-oyaml来看到某个pod的具体yaml配置
P54
#暴露Deploy
kubectl expose deployment my-dep --port=8000 --target-port=80 //多个pod聚合+负载均衡,
可以使用my-dep.default.svc域名+端口访问
服务名.名称空间.svc
#使用标签检索Pod
kubectl get pod -l app=my-dep
P57 press service pod总体分级图
P62 9:40 exoportfs命令