vagrant 创建三台主机
均在root用户下操作
主机 | ip |
---|---|
node1 | 192.168.56.101 |
node2 | 192.168.56.102 |
node3 | 192.168.56.103 |
修改三台主机允许ssh登录方式
vim /etc/ssh/sshd_config
复制代码
修改三个值
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes
复制代码
重启sshd 服务
service sshd restart
复制代码
因为vagrant root密码我暂时不清楚,所以直接手动修改root密码
passwd
复制代码
##配置无密钥登录
node1 上执行,均在root账号下执行
ssh-keygen
复制代码
一路回车
复制公钥到其他主机node2
ssh-copy-id root@192.168.56.102
复制代码
重复上面步骤复制到node3和node1
安装pip3
apt update && apt install python3-pip
复制代码
克隆kubespray
git clone https://github.com/kubernetes-sigs/kubespray.git
git checkout release-2.16
复制代码
按官网步骤
# Install dependencies from ``requirements.txt``
sudo pip3 install -r requirements.txt
# Copy ``inventory/sample`` as ``inventory/mycluster``
cp -rfp inventory/sample inventory/mycluster
# Update Ansible inventory file with inventory builder
# 修改为自己的ip
declare -a IPS=(192.168.56.101 192.168.56.102 192.168.56.103)
CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
# Review and change parameters under ``inventory/mycluster/group_vars``
cat inventory/mycluster/group_vars/all/all.yml
# 这个文件包含k8s集群的网络等基础配置,可进行修改
cat inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml
# Deploy Kubespray with Ansible Playbook - run the playbook as root
# The option `--become` is required, as for example writing SSL keys in /etc/,
# installing packages and interacting with various systemd daemons.
# Without --become the playbook will fail to run!
ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml
复制代码
dashboard安装
kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml
复制代码
获取token
# 在第一个 Master 节点上执行此命令
# 管理员token
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}')
# 普通用户token
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep kuboard-viewer | awk '{print $1}')
复制代码
访问dashboard
kubectl get svc -n kube-system
## 输出
[root@instance-ji0xk9uh-1 ~]# kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 65m
kuboard NodePort 10.96.208.85 <none> 80:32567/TCP 4m6s
复制代码
访问任意worke节点32567 端口即可访问到board
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END