小白安装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官方博客【国内版】
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>