1.k8s部署的实验环境
(1)实验主机
server1 master主机
server2 node主机
server0 harbor仓库主机
(2)docker安装
在server1、server2主机中分别安装好docker环境,在server0主机中配置好harbor仓库
(3)配置文件的修改
vim /etc/docker/daemon.json
编辑内容
systemctl daemon-reload
systemctl restart docker
2.k8s部署
(1)安装k8s系列软件
vim /etc/yum.repos.d/k8s.repo
编辑内容
yum install -y kubelet-1.23.10-0 kubeadm-1.23.10-0 kubectl-1.23.10-0
systemctl enable --now kubelet
(2)上传镜像到harbor仓库
vim /etc/docker/daemon.json
编辑内容
systemctl daemon-reload
systemctl restart docker
在仓库主机中
cd /etc/docker/cert.d/reg.westos.org
ls
scp ca.crt 192.168.155.77:/etc/docker/cert.d/reg.westos.org/ca.crt //复制认证文件
在master主机中
vim /etc/hosts
编辑内容
192.168.155.88 reg.westos.org
docker login reg.westos.org
docker tag busybox:latest reg.westos.org/library/busybox:latest
docker push reg.westos.org/library/busybox:latest
(3)修改镜像仓库及初始化
kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers //拉取镜像
注:以上操作在master主机和node主机均进行,然后在master主机进行以下初始化操作
kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers //初始化集群
export KUBECONFIG=/etc/kubernetes/admin.conf
vim .bash_profile
编辑内容
kubectl get node
发现master主机的pod状态异常,接下来进行kubectl的tab补齐设定
echo "source <(kubectl completion bash)" >> ~/.bashrc
source .bashrc
vim kube-flannel.yml
kubectl apply -f kube-flannel.yml
然后在node主机进行执行以下命令
kubeadm join 192.168.2.77:6443 --token 5uhe5m.spn7ov9n78gii1wa --discovery-token-ca-cert-hash sha256:03f6df556e32f3f538c8629912e25bef78ed2d6a5fefe64a7d11633ca2530f01
node主机配置完成,然后回到master主机,执行以下命令
kubectl get pod -A
kubectl get node
由上图可知,master主机和node主机的k8s部署基本完成
3.k8s基本操作命令
kubectl run demo --image=nginx //创建pod
kubectl get pod
kubectl describe pod demo //查看pod的详细信息
kubectl logs demo //查看pod的日志
kubectl delete pod demo //删除pod