前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初试 Kubernetes -集群搭建

初试 Kubernetes -集群搭建

原创
作者头像
bit20041436
修改2018-08-17 16:29:38
1.1K0
修改2018-08-17 16:29:38
举报
文章被收录于专栏:IT民工生存指南IT民工生存指南

服务器

主节点(个人很喜欢腾讯云的主机自动命名,内网IP之类的都已经在hostname里了,不容易出错)

代码语言:txt
复制
root@VM-0-15-debian:~# hostnamectl
   Static hostname: VM-0-15-debian
    Virtualization: bochs
  Operating System: Debian GNU/Linux 9 (stretch)
            Kernel: Linux 4.9.0-3-amd64
      Architecture: x86-64

子节点

代码语言:txt
复制
root@VM-0-17-debian:~# hostnamectl
   Static hostname: VM-0-17-debian
    Virtualization: bochs
  Operating System: Debian GNU/Linux 9 (stretch)
            Kernel: Linux 4.9.0-3-amd64
      Architecture: x86-64

主节点操作

安装docker

采用17.03.2,使用rancher提供的安装脚本

代码语言:txt
复制
curl https://releases.rancher.com/install-docker/17.03.sh | sh

其他版本可以参考官方安装指南

使用daocloud加速器加速镜像拉取速度

注册daocloud账号,替换为自己的加速链接

代码语言:txt
复制
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://*****.m.daocloud.ioservice docker restart

使用阿里云Kubernetes国内镜像安装kubelet、kubectl、kubeadm

代码语言:txt
复制
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
echo  "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" >/etc/apt/sources.list.d/kubernetes.list
apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl

获取gcr.io镜像

列出kubeadm init所需镜像 (墙的原因经常抽风)

代码语言:txt
复制
root@VM-0-15-debian:~# kubeadm config images list  
k8s.gcr.io/kube-apiserver-amd64:v1.11.2
k8s.gcr.io/kube-controller-manager-amd64:v1.11.2
k8s.gcr.io/kube-scheduler-amd64:v1.11.2
k8s.gcr.io/kube-proxy-amd64:v1.11.2
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd-amd64:3.2.18
k8s.gcr.io/coredns:1.1.3

复制安装脚本gcr-mirror-install.sh,并更改对应的最新版本,然后安装

https://gitee.com/bit20041436/codes/6i238zr4g5ashenjwt7l046

KUBE_VERSION 对应kube开头的四个镜像

KUBE_PAUSE_VERSION对应pause镜像

ETCD_VERSION对应etcd-amd64

DNS_VERSION对应coredns

代码语言:txt
复制
bash gcr-mirror-install.sh

初始化节点

采用Calico网络并指定k8s版本 防止访问墙外地址拉取镜像

代码语言:txt
复制
kubeadm init --pod-network-cidr=192.168.0.0/16 --kubernetes-version=v1.11.2

注意复制初始化成功后shell输出中的内容

代码语言:txt
复制
You can now join any number of machines by running the following on each node
as root:
kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>

使cubectl生效

非root用户

代码语言:txt
复制
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

root用户

代码语言:txt
复制
export KUBECONFIG=/etc/kubernetes/admin.conf

部署calico网络插件

本地ping一下quay.io,如果不通就用脚本拉取dockerhub镜像

https://gitee.com/bit20041436/codes/er5pmndu3jl70hzxqsy8w41

代码语言:txt
复制
bash quay-mirror-install.sh
代码语言:txt
复制
kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml

子节点操作

安装docker、kubelet、kubectl、kubeadm 拉取gcr镜像

同主节点

本地ping一下quay.io,如果不通就用脚本拉取dockerhub镜像

https://gitee.com/bit20041436/codes/er5pmndu3jl70hzxqsy8w41

代码语言:txt
复制
bash quay-mirror-install.sh

加入集群

root账号下

代码语言:txt
复制
kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash 

常用命令

代码语言:txt
复制
#查看集群节点
kubectl get nodes
#列出服务
kubectl get services
#列出 pods
kubectl get pods --all-namespaces            
kubectl get pods -o wide
kubectl get pods --include-uninitialized
kubectl get pods --sort-by='.status.containerStatuses[0].restartCount'
#列出 deployment
kubectl get deployment my-dep
#应用manifest
kubectl create -f ./my-manifest.yaml 
kubectl delete -f ./my-manifest.yaml 
#获取manifests文档
kubectl explain pods,svc
#获取nodes pods信息
kubectl describe nodes my-node
kubectl describe pods my-pod

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 服务器
  • 主节点操作
    • 安装docker
      • 使用daocloud加速器加速镜像拉取速度
        • 使用阿里云Kubernetes国内镜像安装kubelet、kubectl、kubeadm
          • 获取gcr.io镜像
            • 初始化节点
              • 使cubectl生效
                • 部署calico网络插件
                • 子节点操作
                  • 安装docker、kubelet、kubectl、kubeadm 拉取gcr镜像
                    • 本地ping一下quay.io,如果不通就用脚本拉取dockerhub镜像
                      • 加入集群
                      • 常用命令
                      相关产品与服务
                      容器服务
                      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档