标签: kubernetes

带容器的 Kubeadm 1.24。Kubeadm 初始化失败 (centos 7)

我尝试在centos 7上安装单节点集群,使用kubadm 1.24和containerd,\ni遵循安装步骤,

\n

我做了:\ncontainerd config default > /etc/containerd/config.toml\n并通过了:SystemdCgroup = true

\n

但 kubeadm init 失败于:

\n
[root@master-node .kube]# kubeadm init\n[init] Using Kubernetes version: v1.24.0\n[preflight] Running pre-flight checks\n        [WARNING HTTPProxy]: Connection to "https://10.XXXXXXXX" uses proxy "http://proxy-XXXXXXXXX.com:8080/". If that is not intended, adjust your proxy settings\n        [WARNING HTTPProxyCIDR]: connection to "10.96.XXXXXXXX" uses proxy "http://proxy-XXXXXXXXX.com:8080/". This may lead to malfunctional cluster setup. Make sure that Pod and Services IP ranges specified correctly as exceptions in proxy configuration\n[preflight] Pulling images required for setting …
Run Code Online (Sandbox Code Playgroud)

centos7 kubernetes kubeadm containerd

5
推荐指数
1
解决办法
1万
查看次数

在 GKE 上安排磁盘快照

我想将此命令行安排为每 12 小时在 Google Container Engine 上运行一次:

gcloud compute --project "qvitoo-com" disks snapshot \
  "SPECIFIC_INSTANCE_ID" --zone "europe-west1-c" --snapshot-names \
  "DB-staging-$(date -u +"%Y-%m-%dT%H-%M-%SZ")"
Run Code Online (Sandbox Code Playgroud)

我们正在运行托管的 Kubernetes。

此命令行需要访问 gcloud API 才能成功。我该如何做到这一点?

(我不能使用gcloud cron,因为它只是 HTTP 调用,而且Kubernetes cron 作业处于 alpha 状态,而且我不知道如何进行身份验证)

backup authentication kubernetes google-cloud-platform

4
推荐指数
1
解决办法
2821
查看次数

Kubernetes ConfigMap 只能由 root 写入

我用来ConfigMap公开一个 php 文件,该文件旨在跨 pod 共享并可由www-data(Apache) 用户写入。

配置映射表

apiVersion: v1
kind: ConfigMap
metadata:
  name: magento-config
data:
  env.php: |
    <?php
    return array ( ...
Run Code Online (Sandbox Code Playgroud)

部署

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: apache-deployment
spec:
    ...
    spec:
      containers:
        - name: apache
          image: apache:2.4
          ...
          volumeMounts:
          - name: magento-configs
            mountPath: /var/www/html/etc
          imagePullPolicy: Always
      volumes:
        - name: magento-configs
          configMap:
            name: magento-config
Run Code Online (Sandbox Code Playgroud)

root该文件看起来只能写入

root@apache-deployment-79c8548cdc-r6qhs:/# realpath /var/www/html/etc/env.php
/var/www/html/etc/..2018_04_23_16_21_10.435323593/env.php
root@apache-deployment-79c8548cdc-r6qhs:/# ls -l /var/www/html/etc/..2018_04_23_16_21_10.435323593/env.php
-rw-r--r-- 1 root root 909 Apr 23 16:21
Run Code Online (Sandbox Code Playgroud)

有什么办法可以改变这个吗?我注意到VolumeMount有一个 …

permissions kubernetes

4
推荐指数
1
解决办法
2万
查看次数

kubectl 无法使用 AWS EKS 进行身份验证

我无法kubectl使用我的同事创建的 EKS Kubernetes 实例进行身份验证。我遵循 文档:AWS CLI 可以运行aws eks命令(我是 AWS 完全管理员),并且 heptio 身份验证器在我的路径中并且可以生成令牌。

当我运行时,kubectl我收到此错误:

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.4", 
GitCommit:"5ca598b4ba5abb89bb773071ce452e33fb66339d", GitTreeState:"clean", 
BuildDate:"2018-06-06T15:22:13Z", GoVersion:"go1.9.6", Compiler:"gc", 
Platform:"darwin/amd64"}
error: You must be logged in to the server (the server has asked for the client
to provide credentials)
Run Code Online (Sandbox Code Playgroud)

这是我的 ~/.kube/config 文件。这是我的同事可以成功使用的确切 kubeconfig。

apiVersion: v1
clusters:
- cluster:
    server: https://myinstance.sk1.us-east-1.eks.amazonaws.com
    certificate-authority-data: base64_cert                                                                                                                                                                                                   name: kubernetes                                                                                                                                                                                                                          contexts:                                                                                                                                                                                                                                   - context:                                                                                                                                                                                                                                      cluster: kubernetes                                                                                                                                                                                                                         user: aws                                                                                                                                                                                                                                 name: aws
current-context: aws …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services kubernetes

4
推荐指数
1
解决办法
2万
查看次数

Kubernetes Pod DNS 解析

目前能够将所有服务解析为 IP 地址并进行 telnet 和 ping 操作。无法将 Pod 解析为 IP 地址。虽然可以使用 kubectl 和 telnet 查找 pod IP 地址并对它们执行 ping 操作。我需要如何配置 DNS 来解析 Kubernetes 1.9.6、dns-controller:1.9.1 中的 pod。

internal-dns kubernetes

4
推荐指数
1
解决办法
2万
查看次数

网络策略的顺序在 kubernetes 中重要吗?

我在 Google Kubernetes Engine 上有一个集群,它使用 Calico 启用了网络策略。
到目前为止,我已经编写了 12 个网络策略作为 YAML 文件的形式。
我似乎无法弄清楚的一件事是,这些网络策略的创建顺序是否重要。
例如,假设我有这两个策略:
Pol#1- 拒绝所有入口连接

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all-ingress
  namespace: default
spec:
  podSelector: {}
  policyTypes:
  - Ingress
Run Code Online (Sandbox Code Playgroud)

Pol#2- 允许后端访问数据库:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-db-to-be-accessed-by-backend
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: mysql
      release: production
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: backend
          release: production
    ports:
    - protocol: TCP
      port: 3306
Run Code Online (Sandbox Code Playgroud)

如果我先应用 Pol#1,然后应用 Pol#2,与先应用 Pol#2,然后应用 Pol#1 相比,我会得到不同的结果吗?

kubernetes google-kubernetes-engine

4
推荐指数
1
解决办法
1150
查看次数

无法在 AWS EKS 中列出服务

我正在按照入门指南设置我的第一个 Kubernetes EKS 集群,但我无法通过验证访问的步骤kubectl get svc。而不是我得到的服务列表:

error: the server doesn't have a resource type "svc"
Run Code Online (Sandbox Code Playgroud)

我已经准备好了aws-iam-authenticator,我已经为具有 AWS 管理员权限的用户获得了正确的访问权限和密钥,我检查了我能想到的所有内容,但无法找出导致错误的原因。

containers amazon-web-services kubernetes

4
推荐指数
1
解决办法
1265
查看次数

Kubernetes 重命名集群

Kubernetes 新手。如何在 kubeadm init 后重命名集群。默认集群名称是 kubenetes,我想将其重命名为更有意义的名称。四处搜索,找不到任何说明。谢谢!

kubernetes

4
推荐指数
1
解决办法
3908
查看次数

nginx 使用代理协议与 Kubernetes 集群

我在运行 NGINX 的自托管服务器上有一个带有外部负载平衡器的 Kubernetes 集群。我试图激活proxy_protocol以获取real_ip客户端,但 NGINX 日志是

2020/05/11 14:57:54 [error] 29614#29614: *1325 broken header: "?????????a"5?li<c?*? ???s?       ?6?????X??o???E??i?{ ?/?0?+?,???? ??
??/5?" while reading PROXY protocol, client: 51.178.168.233, server: 0.0.0.0:443
Run Code Online (Sandbox Code Playgroud)

这是我的 NGINX 配置文件:

worker_processes 4;
worker_rlimit_nofile 40000;

events {
    worker_connections 8192;
}

stream {

    upstream rancher_servers_http {
        least_conn;
        server <IP_NODE_1>:80 max_fails=3 fail_timeout=5s;
        server <IP_NODE_2>:80 max_fails=3 fail_timeout=5s;
        server <IP_NODE_3>:80 max_fails=3 fail_timeout=5s;
    }
    server {
        listen     80;
        proxy_protocol on;
        proxy_pass rancher_servers_http;
    }

    upstream rancher_servers_https {
        least_conn;
        server <IP_NODE_1>:443 max_fails=3 fail_timeout=5s; …
Run Code Online (Sandbox Code Playgroud)

nginx kubernetes

4
推荐指数
1
解决办法
2171
查看次数

nginx-ingress 到 Kubernetes 仪表板的 400 错误

我有一个连接到 Kubernetes 仪表板的入口,但在尝试访问它时出现 400 错误。

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/ingress.class: nginx
    cert-manager.io/cluster-issuer: "letsencrypt-prod"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/auth-tls-verify-client: "false"
    nginx.ingress.kubernetes.io/whitelist-source-range: "10.0.0.0/16"
spec:
  tls:
    - hosts:
        - kube.example.com
      secretName: dashboard-tls  # confirmed is valid LE cert
  rules:
    - host: kube.example.com
      http:
        paths:
          - backend:
              serviceName: kubernetes-dashboard
              servicePort: 443
Run Code Online (Sandbox Code Playgroud)

这给了我 nginx pod 中的 400 错误。

2020/08/28 01:25:58 [error] 2609#2609: *795 readv() failed (104: Connection reset by peer) while reading upstream, client: 10.0.0.25, server: kube.example.com, request :“GET / …

nginx kubernetes nginx-ingress

4
推荐指数
1
解决办法
2002
查看次数