1.环境准备
一个master节点,四个node节点
master节点ip
- 172.21.16.244
node节点ip- 172.21.16.24
- 172.21.16.231
- 172.21.16.202
- 172.21.16.55
- 以下是每一个节点上均进行操作
2、服务器添加阿里云yum源
1 | cat <<EOF > /etc/yum.repos.d/kubernetes.repo |
3、重新建立yum缓存
1 | # yum -y install epel-release &&yum clean all &&yum makecach |
- 记得同步系统的时间
3、配置转发请求
1 | 关闭swap |
4、安装docker
1 | # yum -y install docker |
5、安装k8s 需要的插件
1 | # yum -y install kubelet kubeadm kubectl kubernetes-cni |
- 修改为 kubelet 为Cgroup模式
1 | # vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf |
6、拉取镜像
新建一个shell 拉取镜像到本地(所有节点均操作)
1 |
|
- 以下操作是在k8s的master进行操作
7、初始化相关镜像
1 | # kubeadm init --kubernetes-version=v1.13.0 --pod-network-cidr=10.244.0.0/16 |
7.1、执行创建目录
后面在生成证书的时候需要
1 | mkdir -p $HOME/.kube |
7.2、查看验证
1 | # kubectl get componentstatus |
8、安装flannel 网络
(配置文件和目录每个node都要建立)
8.1 创建flannel配置文件
1 | # mkdir -p /etc/cni/net.d/ |
8.2 创建网络配置
(只需要在主节点操作即可)
1 | # kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml |
9、查看命名空间
1 | # kubectl get ns |
10、查看system的pod
1 | # kubectl get pods -n kube-system |
11、节点加入到kuberneter
- 以下是每个node节点执行
1 | # kubeadm join 172.21.17.4:6443 --token 0mdk7x.du3cn19qm1jl2b0e --discovery-token-ca-cert-hash sha256:19bf79b41a931735b1f2f5138e1daa436ab26a4f19781ccf2015cff749ddb4b9 |
- 查看节点是否加入
1 | # kubectl get nodes |
12、安装kubernetes dashboard
下载官网的dashboard文件修改kubernetes-dashboard.yaml文件,用修改之后的kubernetes-dashboard.yaml
1 | # git clone https://github.com/xxlaila/kubernetes-yaml.git |
13、查看dashboard部署是否成功
1 | # kubectl get pods -n kube-system |
13.1、查看dashboard info
1 | # kubectl describe svc kubernetes-dashboard -n kube-system |
13.2、查看dashboard部署在那个节点
1 | # kubectl get pods -n kube-system -o wide |
13.3、查看service 节点端口
1 | # kubectl get service -n kube-system -o wide |
13.4、创建dashboard admin 账户
1 | # kubectl apply -f admin-user.yaml |
14、dashboard 访问
利用节点ip+30001 端口进行访问。访问之前需要在master节点生成证书,把证书(kubecfg.p12)下载到本地,进行导入到浏览器,这里使用火狐浏览器,google浏览器导入,不成功,生产证书之前记得第9步已操作
14.1、生成证书
1 | # grep 'client-certificate-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.crt |
14.2、dashboard 配置修改
kubernetes dashboard v1.10.0使用的是双因子登陆,默认token失效的时间是900秒,15分钟,每15分钟就要进行一次认证。我们可以功过修改token-ttl参数来设置,主要是修改dashboard.yaml文件,并重新建立即可
- 在配置文件里面添加
1
2
3
4
5
6ports:
- containerPort: 8443
protocol: TCP
args:
- --auto-generate-certificates
- --token-ttl=43200
重建dashboard,通过利用http添加端口30001,然后利用tonken进行验证登陆,安装失败清理环境
1 | # kubeadm reset |