AWS-自建集群K8s-Calico部署

Calico Install#

镜像下载#

docker pull docker.io/calico/cni:v3.24.5
docker pull docker.io/calico/node:v3.24.5
docker pull docker.io/calico/kube-controllers:v3.24.5

docker tag  docker.io/calico/cni:v3.24.5        reg.jevic.cn/k8s/calico/cni:v3.24.5
docker tag  docker.io/calico/node:v3.24.5       reg.jevic.cn/k8s/calico/node:v3.24.5
docker tag  docker.io/calico/kube-controllers:v3.24.5   reg.jevic.cn/k8s/calico/kube-controllers:v3.24.5

docker push reg.jevic.cn/k8s/calico/cni:v3.24.5
docker push reg.jevic.cn/k8s/calico/node:v3.24.5
docker push reg.jevic.cn/k8s/calico/kube-controllers:v3.24.5

配置调整#

# curl https://raw.githubusercontent.com/projectcalico/calico/v3.24.5/manifests/calico-etcd.yaml -o calico.yaml
# tree   //对默认文件进行拆分
.
├── 01_cm.yml
├── 02_role.yml
├── 03_deploy.yml
└── calico.yaml

ENP="https://10.x:2379,https://10.x:2379,https://10.x:2379"
ETCD_KEY_BASE=`cat /etc/kubernetes/pki/etcd/server.key | base64 | tr -d '\n'`
ETCD_CERT_BASE=`cat /etc/kubernetes/pki/etcd/server.crt | base64 | tr -d '\n'`
ETCD_CA_BASE=`cat /etc/kubernetes/pki/etcd/ca.crt| base64 | tr -d '\n'`

sed -i "s#ENP#$ENP#g" 01_cm.yml
sed -i "s/ETCD_KEY_BASE/$ETCD_KEY_BASE/g" 01_cm.yml
sed -i "s/ETCD_CERT_BASE/$ETCD_CERT_BASE/g" 01_cm.yml
sed -i "s/ETCD_CA_BASE/$ETCD_CA_BASE/g" 01_cm.yml

cat >/etc/calico/calicoctl.cfg <<EOF
apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
  etcdEndpoints: "$ENP"
  etcdKeyFile: /etc/kubernetes/pki/etcd/server.key
  etcdCertFile: /etc/kubernetes/pki/etcd/server.crt
  etcdCACertFile: /etc/kubernetes/pki/etcd/ca.crt
EOF
# kubectl apply -f .

nginx-demo#

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
  name: nginx
  namespace: default
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: nginx
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx
    spec:
      tolerations:
      - key: "node-role.kubernetes.io/master"
        operator: "Exists"
        effect: "NoSchedule"
      containers:
      - image: nginx:alpine
        imagePullPolicy: IfNotPresent
        name: nginx

污点去除#

kubectl  taint node master-103-113 node-role.kubernetes.io/control-plane-
kubectl taint node master-103-113 node-role.kubernetes.io/master-

添加:
kubectl  taint node master-103-113 node-role.kubernetes.io/control-plane:NoSchedule
kubectl taint node master-103-113 node-role.kubernetes.io/master:NoSchedule
posted @   Jevic-Cn  阅读(326)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示
主题色彩