小白安装K8S Kubernetes集群环境
概述
本文将为您提供一个详细的指南,教您如何在 Alpine Linux 系统上安装和配置 Kubernetes(K8S)集群。Kubernetes是一种开源的容器编排平台,可帮助您轻松地管理和部署容器化应用程序。在本文中,我们将逐步介绍如何准备您的系统环境,安装必要的软件和工具,以及配置Kubernetes集群所需的所有设置。
首先,我们将从系统安装开始,通过简单的命令行操作下载并安装Alpine Linux,并进行一些基本的配置,如挂载模式设置和主机名解析。接下来,我们将调整内核参数以确保网络桥接正常工作,并设置Kubernetes的解析范围。然后,我们将安装容器运行时和Kubernetes部署工具,如containerd、kubelet、kubeadm和kubectl,并配置它们以支持Kubernetes集群的正常运行。
一旦安装和配置完成,我们将初始化Kubernetes集群,配置containerd和kubectl,并安装网络插件以实现容器间通信。我们还将介绍如何查看和管理Kubernetes集群中的各种资源,包括pod、节点和状态信息,以及如何重启Kubernetes服务和生成加入集群的命令。
最后,我们还提供了一个便捷的一键脚本,可以帮助您更快速地部署Kubernetes集群。无论您是初学者还是有经验的Kubernetes用户,本文都将为您提供详细的指导,帮助您轻松地搭建和管理您的容器化应用程序环境。让我们一起开始吧!
准备工作
安装系统
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
bash InstallNET.sh -alpine
reboot
22 root LeitboGi0ro
挂载模式配置且开机启动
rc-update add local default
rc-update show | grep local
cat <<EOF > /etc/local.d/mount-rshared.start
#!/bin/sh
mount --make-rshared /
EOF
chmod +x /etc/local.d/mount-rshared.start
/etc/local.d/mount-rshared.start
修改主机名,主机解析
hostname_use=k8s-master
ipv4_address=$(curl -s ipv4.ip.sb)
echo "$hostname_use" > /etc/hostname
hostname "$hostname_use"
cat > /etc/hosts << EOF
127.0.0.1 localhost
$ipv4_address $hostname_use
EOF
调整内核网桥参数加载生效
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
vm.max_map_count=262144
EOF
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
设置K8S解析范围
cat <<EOF > /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS="--container-runtime-endpoint=unix:///var/run/containerd/containerd.sock --pod-infra-container-image=registry.k8s.io/pause:3.9 --cluster-dns=10.96.0.10,8.8.8.8,1.1.1.1 --cluster-domain=cluster.local"
EOF
cat <<EOF > /etc/resolv.conf
nameserver 8.8.8.8
nameserver 1.1.1.1
EOF
service kubelet restart
alpine安装containerd和安装k8s部署工具
apk update && apk upgrade
apk add containerd kubelet kubeadm kubectl
rc-update add containerd default
service containerd start
rc-update add kubelet default
service kubelet start
KBS使用
初始化集群
kubeadm init
配置containerd
containerd config default > /etc/containerd/config.toml
service containerd restart
配置kubectl
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
安装calico网络cni插件
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
查看pod列表信息
kubectl get pods -A
kubectl get pods -A -o wide
查看单个pod信息
kubectl describe pod coredns -n kube-system
查看日志
kubectl logs coredns -n kube-system
删除pod
kubectl delete pod calico-node-4rxkf -n kube-system
kubectl delete pods --all -n kube-system
查看node节点信息
kubectl get nodes
删除node节点
kubectl delete nodes k8s-node1
查看集群状态
kubectl get componentstatuses
生成加入命令
kubeadm token create --print-join-command
重启K8S
service kubelet restart
K8S一键脚本
curl -sS -O https://kejilion.pro/k8s.sh && chmod +x k8s.sh && ./k8s.sh
版权声明:
作者:KEJILION
链接:https://blog.kejilion.pro/kubernetes-install/
来源:科技lion官方博客【国内版】
文章版权归作者所有,未经允许请勿转载。
飒飒
继续学习
和和
我怎么发表不了评论呢 学习中