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 |
成功