kubernetes-install
操作系统初始化
- 关闭防火墙 (
all
)
1 |
# 临时关闭防火墙 |
- 关闭 selinux (
all
)
1 |
# 临时关闭 |
- 关闭 swap (
all
)
1 |
# 临时 |
- 设置主机名称 (
all
)
1 |
# 设置名称(k8s-m-1)忽略大写字母 |
- 在
Master
添加 Hostname (master
)
1 |
# 设置 |
- 将桥接的 IPV4 流量传递到 iptables 的链 (
all
)
1 |
cat > /etc/sysctl.d/k8s.conf << EOF |
- 时间同步 (
All
)
1 |
yum install -y ntpdate |
安装 Docker
- Docker 安装 sh Script:(
All
)
1 |
# You can use scripts for one click installation,You may need to type enter at the end |
- 配置加速 (
all
)
1 |
sudo mkdir -p /etc/docker |
kubernetes 安装
- 配置 kubernetes 源 (
all
)
1 |
cat <<EOF > /etc/yum.repos.d/kubernetes.repo |
由于官网 kubernetes 源在国外有墙,直接使用官方源会导致安装失败。所以我们配置国内的阿里源
- 安装 kubectl kubelet kubeadm (
all
)
1 |
# install kubectl kubelet kubeadm |
- 初始化 k8s 部署 (
Master
)
1 |
kubeadm init \ |
常见错误:running with swap on is not supported. Please disable swap
[preflight] If you know what you are doing, you can make a check non-fatal with `—ignore-preflight-
errors=…`
原因:系统自动进行分区
解决:
1
2
3
4 # 临时
swapoff -a
# 永久
sed -ri 's/.*swap.*/#&/' /etc/fstab
- following as a regular user(
Master
)
1 |
mkdir -p $HOME/.kube |
- join master node(
node
)
1 |
kubeadm join 172.16.164.136:6443 --token 9oilao.bpbxcm5zkk0jjcgm --discovery-token-ca-cert-hash sha256:609794bd03915be382bdb130c4c180e89cdc863d35cf99be79cf4ddcbfacee24 |
加入成功,如下图
此时我们在
Master
节点上使用命令kubectl get nodes
查看节点信息:如下图所示
此时的 kubectl get nodes
的 status 都是 NotNotReady:
查看 kubernetes 运行状态:
kubectl get pods -n kube-system
如图:
果然,两个 Pending 犹豫未决
此时我们部署 CNI 网络,配置如下
1 |
# 根据官方文档提示配置CNI网络 |
1 |
sudo vi /etc/hosts |
1 |
# 开启IPVS,修改ConfigMap的kube-system/kube-proxy中的模式为ipvs |
在此运行 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
成功,如图
此时运行 kubectl get nodes
效果图如下 -> 成功。(肯能并不一定会立马成功,上面👆确定没问题,请稍等片刻即可)
测试 kubernetes
1 |
# 创建nginx镜像 Create a deployment with the specified name |
成功
来源:https://cuiqingcai.com/23186.html