一、安装环境
本次部署使用阿里云ECS
操作系统: Ubuntu 18.04 64位
实例规格: ecs.c6.large 2U4G
二、kubernetes 版本
k8s.gcr.io/kube-apiserver:v1.16.2
k8s.gcr.io/kube-controller-manager:v1.16.2
k8s.gcr.io/kube-scheduler:v1.16.2
k8s.gcr.io/kube-proxy:v1.16.2
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.3.15-0
k8s.gcr.io/coredns:1.6.2
三、shell
# 添加镜像源 cat <<EOF >/etc/apt/sources.list.d/docker-k8s.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable EOF # 更新并安装 apt update && apt install -y docker-ce kubelet kubeadm kubectl # 关闭 swapswapoff -a vim /etc/fstab# 注释掉这一行# /swapfile none swap sw 0 0
设置阿里云镜像加速
进入阿里云;=》容器镜像服务=》镜像中心 =》 镜像加速器
页面会提供配置文档;当前只给出主要代码,如果没有阿里云账号,此步骤可以忽略;
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-‘EOF‘ { "registry-mirrors": ["https://{阿里云分配的地址前缀}.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
安装镜像包
这里需要注意:kubernetes 镜像包是放在 google 容器托管平台,国内下载会出现超时等情况
vi k8s-image-pull.sh # 1、将对应的包从国内镜像上拉下来 # 2、在tag成脚本中需要的image名称# 3、移除多余的imagefor i in `kubeadm config images list`; do imageName=${i#k8s.gcr.io/} docker pull registry.aliyuncs.com/google_containers/$imageName docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName docker rmi registry.aliyuncs.com/google_containers/$imageNamedone;
初始化
# kubeadm初始化
kubeadm init --pod-network-cidr=10.244.0.0/16 -–apiserver-advertise-address=0.0.0.0 --ignore-preflight-errors=NumCPU
# --apiserver-bind-port API server 将绑定的端口。默认为 6443。# --apiserver-advertise-address 这是 API server 用来告知集群中其它成员的地址,这也是在 init 流程的时候用来构建 kubeadm join
命令行的地址。 如果不设置(或者设置为 0.0.0.0)那么将使用默认接口的 IP 地址。该地址也被添加到 API Server 使用的证书中。# --ignore-preflight-errors=NumCPU 如果只有一个 cpu 请加参数
# kubeadm init 输出的 token 用于 master 和加入节点间的身份认证,token 是机密的,需要保证它的安全,因为拥有此标记的人都可以随意向集群中添加节点。 # 设置网络插件 export KUBECONFIG=/etc/kubernetes/admin.conf kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
安装 kubernetes-dashboard
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml
# 在需要做外网映射的情况下,我们使用nodeport方式访问,此段也可以忽略vi recommended.yaml # spec:下边添加 type: NodePort# targetPort 下边添加 nodePort: 30001
下载kubernetes-dashboard 镜像
# 拉取 kubernetes-dashboard 镜像, 注意版本, 可在 kubernetes-dashboard.yaml 文件中查看 docker pull kubernetesui/dashboard:v2.0.0-beta5 # 官方Kubernetes仪表板映像已从k8s.gcr.io
注册表移至kubernetesui/dashboard
。# 我们仍将尝试从提供图像k8s.gcr.io
,但是要推送这些图像,需要Google员工的帮助。# 目前只有从 v2.0.0-beta1 以及以后的版本 # 安装 kubernetes-dashboard kubectl create -f kubernetes-dashboard.yaml # 查看安装结果
kubectl get pod --namespace=kubernetes-dashboard kubectl get pod --namespace=kube-system
# 从 v2.0.0-beta1 以及以后的版本,已将仪表板从kube-system
移至kubernetes-dashboard
名称空间 # 查看端口 kubectl get svc --namespace=kube-system或者kubectl get svc --namespace=kubernetes-dashboard
查看账号
kubectl get sa --all-namespaces
cat <<EOF > admins.yamlapiVersion: v1 kind: ServiceAccount metadata: labels: k8s-app: kubernetes-dashboard name: admins namespace: kubernetes-dashboard --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admins roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admins namespace: kubernetes-dashboard
EOF # 创建用户kubectl create -f admins.yaml
获取用户token
kubectl describe serviceaccount admins -n kubernetes-dashboard
获取token
kubectl describe secret admins-token-r5thw -n kubernetes-dashboard
copy token
然后访问外网地址
https://外网ip:30001
选择token 贴入 copy的token信息
作者:zhangwenjian
出处:http://www.cnblogs.com/zhangwenjian
转移:http://www.cnblogs.com/zhangwenjian
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/zhangwenjian/p/11719005.html
时间: 2024-10-10 19:00:20