今天我启用了Gitlab的第二因素身份验证.在那之后,由于我登录了Gitlab网站,我需要用我的手机传递6位数加上我的密码,这很好,这让我觉得安全.
但是,当我使用常规操作时,例如git clone some-repo.git,我收到错误:
Cloning into 'some-repo'...
remote: HTTP Basic: Access denied
remote: You must use a personal access token with 'api' scope for Git over HTTP.
remote: You can generate one at https://gitlab.com/profile/personal_access_tokens
fatal: Authentication failed for 'some-repo.git'
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用现有的克隆本地repo,git pull发生同样的错误.在我启用第二因素身份验证之前,所有上述操作都正常.
根据上述错误说明,我转到了上述地址:https://gitlab.com/profile/personal_access_tokens.我创建了以下标记,并保存标记的密钥.
但是,我不知道如何处理这个密钥.谁能告诉我如何使用此键启用像的基本操作git pull,git clone,git push等...
在启用第二因素身份验证之前,我在本地有很多回购.我希望这些也能奏效.
我正在使用https://gitlab.com/charts/gitlab在 Openshift 集群上部署图表中包含的某些组件。现在我只想部署包含的 Prometheus 图表。我完成了这个,有一个特定的values.yaml配置。
我想扩展 Gitlab 掌舵图,为此我将其添加为我自己的图表的要求。每当我将前一个添加values.yaml为我的值的子部分时,问题就会出现。
部署上游 Gitlab 图表适用于:
global:
registry:
enabled: false
# Disabling minio still requires to disable gitlab.minio or it will complain about "A valid backups.objectStorage.config.secret is needed"
minio:
enabled: false
ingress:
enabled: false
configureCertmanager: false
nginx-ingress:
enabled: false
registry:
enabled: false
certmanager:
install: false
rbac:
create: false
...
Run Code Online (Sandbox Code Playgroud)
将我的图表(包括配置)部署为子图表不起作用:
global:
registry:
enabled: false
# Disabling minio still requires to disable gitlab.minio or it will complain about …Run Code Online (Sandbox Code Playgroud) 我正在尝试根据https://gitlab.com/charts/gitlab/blob/master/requirements.yaml配置包含在 Gitlab Helm 图表中的 Prometheus
我的主要问题是如何配置 Prometheus,因为以下values.yaml似乎被忽略了:
global:
registry:
enabled: false
# Disabling minio still requires to disable gitlab.minio or it will complain about "A valid backups.objectStorage.config.secret is needed"
minio:
enabled: false
ingress:
configureCertmanager: false
class: "nginx"
...
prometheus:
install: true
rbac:
create: true
#kubeStateMetrics:
# enabled: true
nodeExporter:
enabled: true
#pushgateway:
# enabled: true
server:
configMapOverrideName: prometheus-config
configPath: /etc/prometheus/conf/prometheus.yml
persistentVolume:
enabled: true
accessModes:
- ReadWriteMany
mountPath: /etc/prometheus/conf
# Increase afterwards, this is for my tests …Run Code Online (Sandbox Code Playgroud) 我确实可以访问目标计算机的 ssh,并且它可以工作,但是每当我运行此剧本时,我都会收到以下错误输出:
sudo ansible-playbook ansible-playbook-test.yml
PLAY [openstack] *****************************************************************************************************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************************************************************************************
fatal: [amachine]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password,keyboard-interactive).\r\n", "unreachable": true}
to retry, use: --limit @/blah/ansible-play/ansible-playbook-test.retry
PLAY RECAP ***********************************************************************************************************************************************************************************************
amachine : ok=0 changed=0 unreachable=1 failed=0
Run Code Online (Sandbox Code Playgroud)
我的剧本就是这样简单:
---
# hosts could have been "remote" or "all" as well
- hosts: openstack
tasks:
- name: test connection
ping:
remote_user: djuarezg
vars:
ansible_ssh_extra_args: '-K -o ControlPath=none'
- hosts: openstack
tasks:
- name: …Run Code Online (Sandbox Code Playgroud) 我正在尝试关注如何使用Gitlab CI与我使用Openstack创建的Kubernetes集群这个简短的文档:https://docs.gitlab.com/runner/install/kubernetes.html
我设法创建它,但是每次我创建ConfigMap和Deployment时,如前面链接中所指定的那样,它创建的pod都会卡在CrashLoopBackOff中,如下所示:
NAMESPACE NAME READY STATUS RESTARTS AGE
gitlab gitlab-runner-3998042981-f8dlh 0/1 CrashLoopBackOff 36 2h
gitlab gitlab-runner-3998042981-g9m5g 0/1 CrashLoopBackOff 36 2h
gitlab gitlab-runner-3998042981-q0bth 0/1 CrashLoopBackOff 36 2h
gitlab gitlab-runner-3998042981-rjztk 0/1 CrashLoopBackOff 36 2h
kube-system coredns-1977636023-1q47s 1/1 Running 0 21h
kube-system grafana-1173934969-vw49f 1/1 Running 0 21h
kube-system node-exporter-gitlab-ci-hc6k3ffax54o-minion-0 1/1 Running 0 21h
kube-system node-exporter-gitlab-ci-hc6k3ffax54o-minion-1 1/1 Running 0 21h
kube-system prometheus-873144915-s9m6j 1/1 Running 0 21h
Run Code Online (Sandbox Code Playgroud)
我的问题是我无法知道为什么会发生这种情况,因为pod日志在未创建时不可用.
除此之外,我只是不知道如何处理指定的卷,因为我认为这与crashloops有一些关系.
部署指定:
- configMap:
name: gitlab-runner
name: config
- hostPath:
path: /usr/share/ca-certificates/mozilla
name: cacerts …Run Code Online (Sandbox Code Playgroud) 当我等待将合并请求引入 Gitlab 以避免此问题时,我需要一种解决方法来通过 gitlab-rails 控制台编辑用户的电子邮件地址。
使用这个:
user = User.find_by(name: 'test')
user.email = 'test@example.com'
user.save
Run Code Online (Sandbox Code Playgroud)
允许编辑用户,但系统要求我在应用新电子邮件之前确认新电子邮件。任何想法?
目前我有一段基于其他示例的 go 代码。我可以列出所有的 pod、作业……等等,但是我在Openshift上创建作业时遇到了一个相当棘手的问题。
我的代码的以下部分应该创建一个作业,我什至得到一个响应,但没有在提到的命名空间上创建作业:
func main() {
var kubeconfig *string
if home := homedir.HomeDir(); home != "" {
kubeconfig = flag.String("kubeconfig", filepath.Join(home, ".kube", "config"), "(optional) absolute path to the kubeconfig file")
} else {
kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file")
}
flag.Parse()
config, err := clientcmd.BuildConfigFromFlags("", *kubeconfig)
if err != nil {
panic(err)
}
clientset, err := kubernetes.NewForConfig(config)
if err != nil {
panic(err)
}
jobsClient := clientset.BatchV1().Jobs("gitlab")
job := &batchv1.Job{
ObjectMeta: metav1.ObjectMeta{ …Run Code Online (Sandbox Code Playgroud) 关于如何在ansible清单文件中设置host_key_checking = false?我想知道是否可以更改剧本定义中的此设置。
我的剧本是自动调用的,我无法export在启动剧本之前设置 ENV 变量。
这是我尝试过的:
---
- hosts: localhost
environment:
ANSIBLE_HOST_KEY_CHECKING: false
roles:
- including_vars
Run Code Online (Sandbox Code Playgroud)
问题是,如果我在 playbook 任务期间添加主机,则会收到以下错误:
无法到达!=> {"changed": false, "msg": "无法通过 ssh 连接到主机: 主机密钥验证失败。\r\n", "unreachable": true}
这似乎表明环境变量没有被使用。
关于如何在运行时更改此设置的任何想法?