前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单机部署k8s

单机部署k8s

作者头像
用户4877748
发布2020-07-27 18:14:25
1.5K0
发布2020-07-27 18:14:25
举报
文章被收录于专栏:LVMLVM

安装docker-ce

systemctl  enable docker  systemctl start docker 

修改Cgroup Driver 为systemd 默认为cgroups

echo KUBELET_KUBEADM_EXTRA_ARGS=--cgroup-driver=systemd  > /etc/default/kubelet

重启docker

临时关闭swap 

swapoff -a

配置yum源

cat > /etc/yum.repos.d/kubernetes.repo << EOF

[kubernetes]

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

安装指定版本 

yum clean all

yum makecache

yum -y install kubelet-1.18.3 kubectl-1.18.3 kubeadm-1.18.3

由于几个重要镜像google不能直接拉取,所以从Docker官方默认镜像平台拉取镜像并重新打tag的方式来绕过对 k8s.gcr.io 的访问

docker pull mirrorgcrio/kube-apiserver:v1.18.3
docker pull mirrorgcrio/kube-controller-manager:v1.18.3
docker pull mirrorgcrio/kube-scheduler:v1.18.3
docker pull mirrorgcrio/kube-proxy:v1.18.3
docker pull mirrorgcrio/pause:3.2
docker pull mirrorgcrio/etcd:3.4.3-0
docker pull mirrorgcrio/coredns:1.6.7
docker tag mirrorgcrio/kube-apiserver:v1.18.3 k8s.gcr.io/kube-apiserver:v1.18.3
docker tag mirrorgcrio/kube-controller-manager:v1.18.3 k8s.gcr.io/kube-controller-manager:v1.18.3
docker tag mirrorgcrio/kube-scheduler:v1.18.3 k8s.gcr.io/kube-scheduler:v1.18.3
docker tag mirrorgcrio/kube-proxy:v1.18.3 k8s.gcr.io/kube-proxy:v1.18.3
docker tag mirrorgcrio/pause:3.2 k8s.gcr.io/pause:3.2
docker tag mirrorgcrio/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0
docker tag mirrorgcrio/coredns:1.6.7 k8s.gcr.io/coredns:1.6.7
docker image rm mirrorgcrio/kube-apiserver:v1.18.3
docker image rm mirrorgcrio/kube-controller-manager:v1.18.3
docker image rm mirrorgcrio/kube-scheduler:v1.18.3
docker image rm mirrorgcrio/kube-proxy:v1.18.3
docker image rm mirrorgcrio/pause:3.2
docker image rm mirrorgcrio/etcd:3.4.3-0
docker image rm mirrorgcrio/coredns:1.6.7

systemctl enable kubelet 

这个时候启动kubectl会出错 我们直接  kubeadm init --kubernetes-version=v1.18.3 --pod-network-cidr=10.244.0.0/16

cp -i /etc/kubernetes/admin.conf $HOME/.kube/config     chown $(id -u):$(id -g) $HOME/.kube/config    kubectl get pods --all-namespaces

默认情况下kubernetes中的master并不能运行用户的Pod. 因此需要删除 Train,允许master执行Pod 执行下命令     kubectl taint nodes --all node-role.kubernetes.io/master-

    kubectl get pods --all-namespaces     mkdir -p /etc/cni/net.d/     cat <<EOF> /etc/cni/net.d/10-flannel.conf\n{\n“name”: “cbr0”,\n“type”: “flannel”,\n“delegate”: {\n“isDefaultGateway”: true\n}\n}\n\nEOF    mkdir /usr/share/oci-umount/oci-umount.d -p     mkdir /run/flannel/    cat <<EOF> /run/flannel/subnet.env\nFLANNEL_NETWORK=10.244.0.0/16\nFLANNEL_SUBNET=10.244.1.0/24\nFLANNEL_MTU=1450\nFLANNEL_IPMASQ=true\n\nEOF

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

vim /etc/cni/net.d/10-flannel.conflist

{   "name": "cbr0",   "cniVersion": "0.2.0",   "plugins": [     {       "type": "flannel",       "delegate": {         "hairpinMode": true,         "isDefaultGateway": true       }     },     {       "type": "portmap",       "capabilities": {         "portMappings": true       }     }   ] }

systemctl daemon-reload

安装kuboard

kubectl apply -f https://kuboard.cn/install-script/v1.18.3/nginx-ingress.yaml     kubectl apply -f https://kuboard.cn/install-script/v1.18.x/nginx-ingress.yaml     kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml     kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.6/metrics-server.yaml     kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system     echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档