Ubuntu下面k8s v1.13.1搭建

准备工作

4G内存 20G硬盘 必须2CPU核

永久关闭swap空间:先vim /etc/fstab#注释掉所有swap分区,然后重启机器

安装docker

安装kubectl kubeadm kubelet

 

apt-get update && apt-get install -y apt-transport-https

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF

apt-get update
安装指定版本  apt-get install   kubernetes-cni=0.6.0-00 后
apt-get install -y kubelet=1.13.1-00 kubeadm=1.13.1-00 --allow-unauthenticated

apt-get install -y   kubectl=1.13.1-00    --allow-downgrades  --allow-unauthenticated

有可能已经安装了高版本的kubeadm,k8s-v1.13.1用不了,则

卸载  apt-get remove  -y kubelet kubeadm kubectl

安装指定版本 apt-get install -y kubelet =1.13.1-00

提示  

   kubelet : Depends: kubernetes-cni (= 0.6.0) but 0.7.5-00 is to be installed

卸载    apt-get remove  kubernetes-cni 

安装指定版本  apt-get install   kubernetes-cni=0.6.0-00 后,再指定kubectl 版本,如上。

kubeadm创建一个集群

kubeadm init \
	--image-repository registry.aliyuncs.com/google_containers \
    --pod-network-cidr=192.167.0.0/16 \
    --ignore-preflight-errors=cri \
    --kubernetes-version=1.13.1

耐心等待后出现:

Your Kubernetes master has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

You can now join any number of machines by running the following on each node
as root:

  kubeadm join 172.0.1.5:6443 --token to697t.fdu5pffmr0862z8g --discovery-token-ca-cert-hash sha256:1....

根据提示,mkdir...之后,就可以用命令查看k8s状态了

kubectl get nodes

kubectl describe node ubuntudesk

kubectl get pods -n kube-system

master结点跑业务pod

kubectl taint nodes --all node-role.kubernetes.io/master-

这个步骤的配置最终使Master节点能允许运行用户pod,也是确保下面插件部署能正确运行。

安装网络插件flannel

kube-flannel.yml

---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: flannel
rules:
  - apiGroups:
      - ""
    resources:
      - pods
    verbs:
      - get
  - apiGroups:
      - ""
    resources:
      - nodes
    verbs:
      - list
      - watch
  - apiGroups:
      - ""
    resources:
      - nodes/status
    verbs:
      - patch
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: flannel
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: flannel
subjects:
- kind: ServiceAccount
  name: flannel
  namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: flannel
  namespace: kube-system
---
kind: ConfigMap
apiVersion: v1
metadata:
  name: kube-flannel-cfg
  namespace: kube-system
  labels:
    tier: node
    app: flannel
data:
  cni-conf.json: |
    {
      "name": "cbr0",
      "plugins": [
        {
          "type": "flannel",
          "delegate": {
            "hairpinMode": true,
            "isDefaultGateway": true
          }
        },
        {
          "type": "portmap",
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值