- 本集群搭建在 aws上面,使用的是UBUNTU18.04系统
- 集群环境如下:
master节点: 172.31.25.36
node1节点: 172.31.21.5
node2节点: 172.31.23.174
- 安装docker,参考以下文章
- 安装k8s
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl
echo " " >> /etc/profile
echo "## setting for k8s" >> /etc/profile
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile
. /etc/profile
kubeadm init --apiserver-advertise-address=172.31.25.36 --pod-network-cidr=192.168.16.0/20 ## 初始化master
curl -L "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" > weave.yaml ## 安装weave网络
修改 weave.yaml 再env下加入:
- name: IPALLOC_RANGE
value: 192.168.16.0/20
kubectl apply -f weave.yaml
kubectl get pods -n kube-system -o wide ## 查看pods状态
kubeadm join 172.31.25.36:6443 --token lbm7wf.hiwr8d1ed5nxkxfh \
--discovery-token-ca-cert-hash sha256:b2758c8b463658df45f0c2a665b5985fdb302c3efbe260921ff4a56b84c8445a ## 在node节点运行,将node加入到master当中
kubectl get nodes ## 查看集群状态
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml ## 安装kubernetes-dashboard
- 创建一个dashboard登录用户
vi jiang-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: jiang
namespace: kube-system
vi jiang-user-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: dashboard:jiang
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: jiang
namespace: kube-system
kubectl create -f jiang-user-role-binding.yaml
kubectl get secret -n kube-system | grep jiang ## 得到jiang-token-fhrsq 这个用户的对象
kubectl describe secret/jiang-token-fhrsq -n kube-system ## 得到token,登录的时候就使用这个token登录