安装和使用k8s

Date: 2019/11/29 Categories: 工作 Tags: k8s


https://ahmermansoor.blogspot.com/2019/04/install-kubernetes-k8s-offline-on-centos-7.html

需要的rpm http://10.254.99.102:8080/andyfei/software/k8s.tgz

docker pull docker.oa.com/andyfei/kube-apiserver:v1.16.3
docker tag docker.oa.com/andyfei/kube-apiserver:v1.16.3 k8s.gcr.io/kube-apiserver:v1.16.3
docker pull docker.oa.com/andyfei/kube-controller-manager:v1.16.3
docker tag docker.oa.com/andyfei/kube-controller-manager:v1.16.3 k8s.gcr.io/kube-controller-manager:v1.16.3
docker pull docker.oa.com/andyfei/kube-scheduler:v1.16.3
docker tag docker.oa.com/andyfei/kube-scheduler:v1.16.3 k8s.gcr.io/kube-scheduler:v1.16.3
docker pull docker.oa.com/andyfei/etcd:3.3.15-0
docker tag docker.oa.com/andyfei/etcd:3.3.15-0 k8s.gcr.io/etcd:3.3.15-0
docker pull docker.oa.com/andyfei/pause:3.1
docker tag docker.oa.com/andyfei/pause:3.1 k8s.gcr.io/pause:3.1
docker pull docker.oa.com/andyfei/kube-proxy:v1.16.3
docker.oa.com/andyfei/kube-proxy:v1.16.3 k8s.gcr.io/kube-proxy:v1.16.3
docker pull docker.oa.com/andyfei/flannel:v0.11.0-amd64
docker tag docker.oa.com/andyfei/flannel:v0.11.0-amd64 quay.io/coreos/flannel:v0.11.0-amd64
docker pull docker.oa.com/andyfei/coredns:1.6.2
docker tag docker.oa.com/andyfei/coredns:1.6.2 k8s.gcr.io/coredns:1.6.2

sudo kubeadm init --pod-network-cidr=172.30.30.0/16
sudo cp -f  /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
http://10.254.99.102:8080/andyfei/kube-flannel.yml -O kube-flannel.yml
wget http://10.254.99.102:8080/andyfei/kube-flannel.yml -O kube-flannel.yml

需要注意的是这里的pod-network-cidr不能和公司内网网段冲突, 否则安平的人回来找麻烦, 可以到tmp.oa.com上查询需要使用的ip

一般来说只有master的时候没法调度容器, kubectl describe deployment xxx显示0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate, 可以执行下面的命令(生产环境中不要干)

https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#master-isolation

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

第一个pod, nginx

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 1
  selector:
     matchLabels:
        deploy: example
  template:
    metadata:
      labels:
        deploy: example
    spec:
      containers:
        - name: nginx
          image: nginx:1.7.9

kubectl apply -f nginx.yaml, 后可以访问nginx服务, kubectl describe pods