k8s部署流水账

久仰大名k8s,业余选手一直望而却步。最近终于初步炮制成功。知道了大概的流程。本篇为部署备忘录。

经过的大环节有:修改树莓派/boot/cmdline.txt甚至/cmd/config.txt里面的集群相关设置,把cgroup驱动enable好。swap关掉。这些都是所有集群内机器都要做的。

接下来是各种装,从containerd开始(这个时点它替代了docker),docker放在这里有点大材小用,containerd这种服务更适合k8s使用,在containerd配置文件中需要enable cgroup。端口转发的rule都配置好,再接着kubelet kubeadm kubectl 安装。最后,安装一款集群网络插件,比如flanneld。这一通装也是所有参与集群的机器都需要的。

题外话,containerd如果pull image以及下载资源太慢,除了阿里云的国内镜像源,有条件用代理,那么可以配置下containerd.service。

k8s部署流水账_第1张图片

 接下来,选一个机器当主节点,我个人选了集群成员里配置最低的作为control plane,worker们的配置会高些,因为这个主节点 主要就用来当当看板,调度管理。需要运算资源的pod,全部安去workers。

把配置过的flanneld和metallb服务加入cluster。接下来,去成员机上kubeadm join。最后去control plane上给成员机定义角色worker。

命令行备忘录:

kubectl get pods --all-namespaces -o wide  #查看所有pods

kubectl delete pods  -n # 删除指定pod,其实这里是一种重启操作,而非真的删除;

kubectl logs   -n  #查看指定pod的日志

 sudo kubeadm init --apiserver-advertise-address=192.168.11.242 --service-cidr=10.96.0.0/16 --pod-network-cidr=10.244.0.0/16 #主节点初始化命令

kubectl label node  node-role.kubernetes.io/worker=worker  #指定node角色

###node删除三件套###

kubectl drain  --delete-local-data --force --ignore-daemonsets #在control plane发起

sudo kubeadm reset #在对应成员机上发起,注意根据提示,删干净对应路径文件。最后重启下。

kubectl delete nodes . #在control plane上发起。

###node删除三件套结束###

#要想彻底删除某个service或者某个pod,都要从deployment下手开始删,如果是服务先删pods再删svc,这样才是真正意义上的删除。不然直接删pods都是其实在做重启pods操作。

kubectl scale --replicas=2 -n #改replicas份数

kubectl get all -n  -o wide #搞不清楚NameSpace里面的复杂情况时,可用。

接下来实在的目标有:1. 在里面织袜子;2.cluster里面起一个baking node; 

你可能感兴趣的:(软件应用,kubernetes,容器,树莓派)