k8s dashboard_三节点k8s集群搭建全记录

一个很好的demo练习种草:
rootsongjc/kubernetes-vagrant-centos-cluster​github.com
846f62f62b2ac26fba5f35bdf3521740.png

内容概览:

1.安装docker kubectl 等基本工具 2.通过 kubeadm init , join 创建集群 3.安装 kubernetes-dashboard

一、安装docker等基本工具

1.首先,查看作为主节点的系统信息:

8cc9e20c8fd61da2eb45a28017fc273c.png

2.修改节点名称

(1)所有节点 vim /etc/hosts

f6f5991442cd51c0a2fee9877526083f.png

(2)vim /etc/hostname

修改完后 reboot 机器

(3)无密码 ssh 登录其它节点

ssh-keygen -t rsa

ssh-copy-id root@node1

ssh-copy-id root@node2

2.安装必要工具:

yum install -y lrzsz wget curl conntrack-tools vim net-tools telnet tcpdump bind-utils socat ntp kmod ceph-common dos2unix

3.配置各节点阿里K8S YUM源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
EOF

yum -y install epel-release
yum clean all
yum makecache

4.在各节点安装kubeadm和相关工具包

yum -y install docker-ce kubelet kubeadm kubectl kubernetes-cni

5.启动Docker与kubelet服务

systemctl enable docker && systemctl start docker
systemctl enable kubelet && systemctl start kubelet

二、通过 kubeadm init join 创建集群

1.使用 kubeadm init 初始化主节点:

使用options --image-repository mirrorgooglecontainers 指定仓库
首先用 kubeadm config images list 查看都需要哪些镜像:

f66993be795b684bbef20518cc4ae70e.png

可以通过docker pull 镜像到本地,也可以init时指定仓库。如果其中有失败的,可以通过dockerhub 来查找需要的镜像。

kubeadm init --image-repository mirrorgooglecontainers --pod-network-cidr= 10.244.0.0/16

(使用--pod-network-cidr使用flannel网络)

结束后会显示:

d82743643544cac6ddc342581fdf193e.png

2.此时,可以根据提示做相应操作。

参考链接:flannel

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

3. 在worker主机运行:kubeadm join

4.在master主机 指定 role :

kubectl label node [name] node-role.kubernetes.io/worker=

ca31ef0169b66cdd4b9a5d7717a5c315.png

三、安装 dashboard

https:// kubernetes.io/docs/conc epts/cluster-administration/addons/ 此处指定了大多插件,包括dashboard:

1.首先,下载 kubernetes-dashboard.yaml 到本地:

wget https:// raw.githubusercontent.com /kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

2.修改文件,添加 type:NodePort 暴露端口以便访问:

3cc366e9e8f3f45b49b759762a762bf3.png

修改镜像拉取方式:这里可以到docker hub 查找 ,并修改这里:

1f63601a5c57c2a02ca63ca02b81f8a9.png

然后就可以部署了:

kubectl create -f kubernetes-dashboard.yaml

3.部署完成之后还需要创建服务账号:

创建 vim dashboard-adminuser.yaml

---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard-admin
  namespace: kube-system

---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard-admin
  labels:
    k8s-app: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kubernetes-dashboard-admin
  namespace: kube-system
kubectl apply -f dashboard-adminuser.yaml

查看Token

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep kubernetes-dashboard-admin-token | awk '{print $1}')

此处保留token内容,以后登陆会用到。

4.查看 dashboard端口号:

kubectl get svc -n kube-system

访问dashboard即可

注:自签证书chorme无法信任,需要使用火狐浏览器访问。

53615b03a2686657b4af3a5c28b96050.png

输入刚才的 token

39137b9ddd37403f3beafa3ce7553c1d.png

四、细节:

1.自动补全设置

yum install -y bash-completion
find / -name bash_completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

参考:bash_completion

2.重装k8s系统前需要清空设置

(1)查看集群状态,确认组件都处于healthy状态

kubectl get cs

(2)各个节点上运行:

kubeadm reset

ifconfig cni0 down

ip link delete cni0

ifconfig flannel.1 down

ip link delete flannel.1

rm -rf /var/lib/cni/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值