系统环境
前置条件
首先我们需要安装kubeadm,具体安装过程参考官方教程
在安装过程中,我们要删除原来的pos,增加阿里云
关闭部分服务并且对其中的一些配置进行修改
之后就可以正式开始我们的Kubernetes配置了。
正式配置
首先我们使用init命令来初始化
命令成功之后,他会提示我们使用几条指令彻底完成初始化。
- 作为用户
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
- 作为管理员
export KUBECONFIG=/etc/kubernetes/admin.conf
这里我是管理员,所以我采用第二个方法
之后我们安装Pod网络附加组件
同时我们控制平面节点隔离
这样我们的初始化就算完成了。
然后我们可以查看node以及pods
在之前初始化的时候,我们创造了一个token,接下来我们可以通过那个token来创建新的节点
具体指令如下
kubeadm join --token <token> <control-plane-host>:<control-plane-port> --discovery-token-ca-cert-hash sha256:<hash>
其中token为令牌,可以通过kubeadm token list
命令来获取
–discovery-token-ca-cert-hash的值,可以通过一下指令来获取
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | \
openssl dgst -sha256 -hex | sed 's/^.* //'
之后会得到类似于以下的内容
[preflight] Running pre-flight checks
... (log output of join workflow) ...
Node join complete:
* Certificate signing request sent to control-plane and response
received.
* Kubelet informed of new secure connection details.
Run 'kubectl get nodes' on control-plane to see this machine join.
Kubernetes dashboard
之后我按照提供的指南进行dashboard的配置
首先我们需要下载yaml文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc7/aio/deploy/recommended.yaml
然后在文件中增加nodePort
之后运行yaml文件
之后我们就可以通过token登录并在dashboard上查看到k8s的状态。
至此,我们成功用kubeadm部署了kubernetes。
Hint
假如按照上面的步骤无法部署成功,可以参考官方文档